Обновление объекта с ttl не работает должным образом с драйвером Datastax Java - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь добавить ttl в существующую запись (на уровне сущности, а не столбца), которая сохраняется в пакете, в этой таблице есть перечисление, которое обновляется, и ttl применяется всякий раз, когда клиент выбирает эту опцию, но я вижу, что после истечения периода ttl строка не удаляется, и только перечисление возвращается к тому, что было до применения ttl. Код выглядит примерно так, как показано ниже, где customer - это персистентная сущность, ttl - переходное поле Integer, которое устанавливается> 0 только при обновлениях, а customerMapper - это Mapper

            if(customer.getTtl() > 0) {
                batchStatement.add(customerMapper.saveQuery(customer, ttl(customer.getTtl())));
            } else {
                batchStatement.add(customerMapper.saveQuery(customer));
            }

table_schema:

        CREATE TABLE customer (
            id uuid,
            tenant_id bigint,
            workspace_id bigint,
            creation_date timestamp,
            in_control_group boolean,
            monitored boolean,
            num_sessions int,
            id_status tinyint,
            recognized boolean,
            PRIMARY KEY (id, tenant_id, workspace_id)
            );

Мы используем Cassandra 3+. Таблица имеет согласованность чтения и записи, установленную на LOCAL_QUORUM, в то время как сжатие равно Level_Tiered. Есть мысли о том, что, вероятно, не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...