2016-04-20 3 views
0

Я использую datastax с cassandra. Я хочу, чтобы строка была автоматически удалена через 15 минут после ее вставки. Но строка все еще остается.Cassandra TTL не работает

Мой код ниже:

Insert insertStatement = QueryBuilder.insertInto(keySpace, "device_activity"); 
     insertStatement.using(QueryBuilder.ttl(15* 60)); 
     insertStatement.value("device", UUID.fromString(persistData.getSourceId())); 
     insertStatement.value("lastupdatedtime", persistData.getLastUpdatedTime()); 
     insertStatement.value("devicename", persistData.getDeviceName()); 
     insertStatement.value("datasourcename", persistData.getDatasourceName()); 

В таблице состоит из 4-х колонок: устройство (UUID), DataSourceName (текст), имя_устройства (текст), lastupdatedtime (метка времени).

Если я запрашиваю TTL какого-либо поля, это показывает мне 4126 секунд, что неверно. // Выберите TTL (devicename) из device_activity; // Дает мне 4126 секунд

+0

Запрос, наконец, выполняется это INSERT INTO devicecloud_test.device_activity (устройство, lastupdatedtime, имя_устройства, DataSourceName) VALUES (ca5cff1f-b23a -426a-ba3f-f13300a2d8e6,1461150305100, 'TestBench162', '259642460471175') ИСПОЛЬЗОВАНИЕ TTL 60; – Renukaradhya

+0

Я не понимаю, TTL, который используется Cassandra, это 4126 или 60 секунд? – doanduyhai

+0

Я дал 900 секунд, но cassandra показывает мне 4126 секунд – Renukaradhya

ответ

0

В приведенной ниже ссылке дается пояснение TTL. .

https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html

«Данные TTL имеет точность одной секунды, как рассчитано на сервере Таким образом, очень маленький TTL, вероятно, не имеет большого смысла Кроме того, часы на серверах должны быть синхронизированы;. В противном случае уменьшенная точность может наблюдаться, поскольку время истечения вычисляется на основном хосте, который получает начальную вставку, но затем интерпретируется другими хостами в кластере ».

После прочтения этого я мог бы решить путем установки правильного времени на соответствующем узле (машине.)

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