2015-05-19 3 views
3

Я запускаю REXSTER/TITAN 0,4 над кассандрой и использует гремлин для обходов. Я бежал под запросом гремлина в консоли Rexster Doghouse Gremlin.TITAN: запрос Gremlin возвращает несогласованные результаты при повторном выполнении

Vertex 92 был удален ранее, так как он дублирует вершина с таким же ключом («eddy.com»)

Но когда я запрашивая, я получаю эту вершину иногда, а иногда нет. Это работает на локальном компьютере-разработчике, значит нет других потоков или параллельной задачи, выполняющих/обновляющих эту вершину между ними. У меня отсутствует какая-либо конфигурация/настройки здесь? это ошибка? пожалуйста помоги!

gremlin> g.V('domain','eddy.com') 

==>v[88] 
gremlin> g.V('domain','eddy.com') 

==>v[88] 
==>v[92] 
gremlin> g.V('domain','eddy.com') 

==>v[88] 
gremlin> g.V('domain','eddy.com') 

==>v[88] 
gremlin> g.V('domain','eddy.com') 

==>v[88] 
==>v[92] 
+0

Такая же проблема здесь, у меня было удаление каждой вершины с django/mogwai и получить ту же ситуацию. Как я могу это решить? –

+0

@DmitryYudin Обновление до последней версии, похоже, это ошибка –

ответ

3

Вы не сказали, как произошло ваше удаление, но этот вопрос почти всегда сводится к незафиксированной или устаревшей транзакции. Другими словами, это либо:

  1. сделка удаление не было совершено
  2. Сделка была совершено, но сторона выполнение запроса не запускает новую транзакцию и, таким образом, получать данные в кэше.

Таким образом, не забудьте позвонить g.commit() после того, как вы нарисуете мутацию. Затем, когда вы переходите к запросу (в другом контексте, таком как Rexster Console, Dog House и т. Д.), Обязательно до g.rollback() перед запросом, чтобы убедиться, что вы не читаете что-то устаревшее.

Если вам интересно, почему вы видели удаленные данные в некоторых случаях, а не другие, это связано с тем, что выдача запроса на Rexster может обрабатываться в потоке со свежим состоянием транзакции (или нет), давая вам разные результаты.

На случай, что это ни одна из этих вещей и, возможно, ошибка, я могу только рекомендовать вам обновить Titan 0.5.4.

Смежные вопросы