Мутации в Кассандре не гарантируются, чтобы быть немедленно видимыми.
Я вижу, что вы используете серверную часть хранилища CQL для Janus, которая сообщает мне, что вы используете узел / кластер Cassandra. В Кассандре записи требуются для распространения на каждый узел и могут происходить не сразу. Похоже, что вы можете испытывать это.
Особенно в случае, когда конкретная запись должна быть передана узлу, которому принадлежит его диапазон индекса, и последующие чтения заканчиваются чтением с этого узла, можно попасть в ситуацию, когда за записью следует немедленная read не показывает только что записанные данные.
Время, необходимое для появления записи, зависит от множества факторов,
кластер Кассандра; как правило, это не должно занимать более нескольких минут даже в очень высоком масштабе, но это не гарантируется. Кассандра отдает приоритет доступности по последовательности мутаций. Пока кластер остается подключенным и работающим, мутации будут распространяться на все реплики в кластере , в конечном итоге , но не обязательно во время возврата вызова записи. Это поведение известно как конечная согласованность .
Чтобы обойти это, вы должны скорректировать свои ожидания; вы не можете ожидать, что данные, которые были только что записаны в кластер (и, следовательно, JanusGraph при использовании Cassandra в качестве бэкэнда), будут немедленно доступны.
Если ваш вариант использования не может работать с моделью согласованности Cassandra, я бы посоветовал взглянуть на HBase или один из других бэкэндов, перечисленных в разделе Backends хранилища Руководства JanusGraph .