Size: a a a

2021 January 18

AL

Andrey L in Tarantool
Причем, если не ошибаюсь, они должны первыми идти - что-то проверить и дописать не прокатит. Но это неточно :)
источник

N

Nikita in Tarantool
Всем привет! У меня вопрос про Tarantool Queue. ID'шники тасков постоянно возрастают или сбрасываются в 0 при опустении очереди?
источник

SB

Serj Balash in Tarantool
Mons Anderson
в общем по индексу, который даёт упорядочивание, открываете итератор pairs. REQ или LT

т.е. типа box.space.pairs.index[...]:pairs({}, { iterator = 'REQ' }):take(limit):totable()
Такс, спасибо, спробуем.
источник

MA

Mons Anderson in Tarantool
Nikita
Всем привет! У меня вопрос про Tarantool Queue. ID'шники тасков постоянно возрастают или сбрасываются в 0 при опустении очереди?
судя по
https://github.com/tarantool/queue/blob/master/queue/abstract/driver/fifo.lua#L71
кажется при пустой очереди начнётся с 0
источник

DS

Dmitry Sharonov in Tarantool
сбрасывается,  зуб даю
источник

N

Nikita in Tarantool
Dmitry Sharonov
сбрасывается,  зуб даю
Спасибо!
источник

SB

Serj Balash in Tarantool
Mons Anderson
что такое "последние"?
Так, имел ввиду последние 10 добавленных(и не удалённых таплов) первичный индекс это последовательность , допустим создано таплов: id =1.....
id = 99
id = 100. В данном случае последние 10 это с id 100 и по 91, а если они не по порядку? Удалили таплы. Как отобрать крайние 10 кортежей
источник

MA

Mons Anderson in Tarantool
Serj Balash
Так, имел ввиду последние 10 добавленных(и не удалённых таплов) первичный индекс это последовательность , допустим создано таплов: id =1.....
id = 99
id = 100. В данном случае последние 10 это с id 100 и по 91, а если они не по порядку? Удалили таплы. Как отобрать крайние 10 кортежей
tarantool> box.schema.create_space('test'):create_index('pri')
tarantool> for i=1,100 do box.space.test:insert({i}) end
tarantool> box.space.test.index.pri:pairs({},{ iterator='REQ' }):take(3):totable()
---
- - [100]
 - [99]
 - [98]
...

tarantool> box.space.test:delete{99}
---
- [99]
...

tarantool> box.space.test.index.pri:pairs({},{ iterator='REQ' }):take(3):totable()
---
- - [100]
 - [98]
 - [97]
...
источник

SB

Serj Balash in Tarantool
спасибо, не понял сразу.
источник

A

Andrew in Tarantool
операция :get(id) для вторичного индекса такая же быстрая как и у primary?
источник

MA

Mons Anderson in Tarantool
Andrew
операция :get(id) для вторичного индекса такая же быстрая как и у primary?
Да
источник
2021 January 19

VZ

Vladimir Zaytsev in Tarantool
Привет
источник

VZ

Vladimir Zaytsev in Tarantool
напомните, плиз как отучить тарантула наружу ходить на 169.*
источник

VZ

Vladimir Zaytsev in Tarantool
чето ему там надо
источник

P

Pavel in Tarantool
источник

VZ

Vladimir Zaytsev in Tarantool
ага, спасибо
источник

PP

Pavel Parshin in Tarantool
Привет, подскажите, пожалуйста, по expirationd: почему может не отрабатывать автоматическое удаление записей?
Запускаю из луа так:
local LOG_EXPIRATION_PERIOD = 24 * 60 * 60 -- 24 hours.
local EXPIRATIOND_TUPLES_PER_ITERATION = 10000
local EXPIRATIOND_FULL_SCAN_TIME = 10800 -- 3 hours.

local function brutal_slog_is_log_expired(args, tuple)
   local now = os.time()
   return (now - tuple[BRUTAL_TS]) >= LOG_EXPIRATION_PERIOD
end

local function brutal_slog_remove_expired(space_id, args, tuple)
   box.space.brutal_slog:delete({ tuple[BRUTAL_ID] })
end

expirationd.start('expirationd_brutal_slog', box.space.brutal_slog.id, brutal_slog_is_log_expired, {
   process_expired_tuple = brutal_slog_remove_expired,
   args = {},
   tuples_per_iteration = EXPIRATIOND_TUPLES_PER_ITERATION,
   full_scan_time = EXPIRATIOND_FULL_SCAN_TIME,
   force = true,
})


Если запускаю через консоль expirationd.task('expirationd_brutal_slog'):start(), то отрабатывает нормально.
источник

MA

Mons Anderson in Tarantool
Pavel Parshin
Привет, подскажите, пожалуйста, по expirationd: почему может не отрабатывать автоматическое удаление записей?
Запускаю из луа так:
local LOG_EXPIRATION_PERIOD = 24 * 60 * 60 -- 24 hours.
local EXPIRATIOND_TUPLES_PER_ITERATION = 10000
local EXPIRATIOND_FULL_SCAN_TIME = 10800 -- 3 hours.

local function brutal_slog_is_log_expired(args, tuple)
   local now = os.time()
   return (now - tuple[BRUTAL_TS]) >= LOG_EXPIRATION_PERIOD
end

local function brutal_slog_remove_expired(space_id, args, tuple)
   box.space.brutal_slog:delete({ tuple[BRUTAL_ID] })
end

expirationd.start('expirationd_brutal_slog', box.space.brutal_slog.id, brutal_slog_is_log_expired, {
   process_expired_tuple = brutal_slog_remove_expired,
   args = {},
   tuples_per_iteration = EXPIRATIOND_TUPLES_PER_ITERATION,
   full_scan_time = EXPIRATIOND_FULL_SCAN_TIME,
   force = true,
})


Если запускаю через консоль expirationd.task('expirationd_brutal_slog'):start(), то отрабатывает нормально.
чаще всего сценарий "не отрабатывает" из-за выставленного replication
источник

PP

Pavel Parshin in Tarantool
Mons Anderson
чаще всего сценарий "не отрабатывает" из-за выставленного replication
А где проверить и что должно стоять? У меня один инстанс без каких-либо репликаций
источник

PP

Pavel Parshin in Tarantool
box.info.replication
---
- 1:
   id: 1
   uuid: e0eed44f-1924-4a51-ae66-d336195fb57b
   lsn: 45589153
...

Возвращает это
источник