2016-01-29 2 views
3

Я пытаюсь использовать составной индекс на DynamoDB, и индекс никогда не переключается с INSTALLED на REGISTERED.Состояние индекса никогда не изменяется на ENABLED на Titan с помощью бэкэнда Amazon DynamoDB

Вот код, который я использовал, чтобы создать его

 graph.tx().rollback(); //Never create new indexes while a transaction is active 
     TitanManagement mgmt=graph.openManagement(); 
     PropertyKey propertyKey=getOrCreateIfNotExist(mgmt, "propertyKeyName"); 
     String indexName = makePropertyKeyIndexName(propertyKey); 

     if (mgmt.getGraphIndex(indexName)==null) { 
      mgmt.buildIndex(indexName, Vertex.class).addKey(propertyKey).buildCompositeIndex(); 
      mgmt.commit(); 
      graph.tx().commit(); 
      ManagementSystem.awaitGraphIndexStatus(graph, indexName).status(SchemaStatus.REGISTERED).call(); 
     }else { 
      mgmt.rollback(); 
     } 

Образец бревна:

... ...

612775 [главная] INFO com.thinkaurelius.titan.graphdb.database.management.GraphIndexStatusWatcher - Некоторые ключи в индексе myIndex в настоящее время не имеют статуса REGISTERED: type = INSTALLED 613275 [main] INFO com.thinkaurelius.titan.graphdb.database.management.GraphIndexStatusWatcher - Некоторые ключи в индексе typeIndex в настоящее время не имеют статуса REGISTERED: type = INSTALLED 613275 [main] INFO com.thinkaurelius.titan.graphdb.database .management.GraphIndexStatusWatcher - Таймаут (PT1M) во время ожидания индекса typeIndex сходиться статуса ЗАРЕГИСТРИРОВАНЫ

+1

Эй, M-T-A, могли ли вы получить эту работу, у меня возникают подобные проблемы при использовании с titan + cassandra. – balaji

+0

Нет, надеюсь получить ответ от парней Титана. –

+0

То, что я наблюдал, это передача индексов в разрешенное состояние, если нет данных для данной метки, но если есть уже существующие данные, то она застревает в установленном состоянии – balaji

ответ

2

Ожидание в течение длительного времени делает трюк. Пример: