BUG #15010: Sequence ID is getting skipped

Started by PG Bug reporting formabout 8 years ago3 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 15010
Logged by: Anil Kumar G V
Email address: anilkumar.gv@gmail.com
PostgreSQL version: 9.3.0
Operating system: Ubuntu
Description:

Sometime sequence ID is getting skipped by 32 numbers. Here is some sample
sequence definition.

Column | Type | Value
---------------+---------+----------------------
sequence_name | name | audit_logid_sequence
last_value | bigint | 425585242
start_value | bigint | 1
increment_by | bigint | 1
max_value | bigint | 9223372036854775807
min_value | bigint | 1
cache_value | bigint | 1
log_cnt | bigint | 24
is_cycled | boolean | f
is_called | boolean | t

Sequence "nmc.mrno_number_seq"
Column | Type | Value
---------------+---------+---------------------
sequence_name | name | mrno_number_seq
last_value | bigint | 12
start_value | bigint | 1
increment_by | bigint | 1
max_value | bigint | 9223372036854775807
min_value | bigint | 1
cache_value | bigint | 1
log_cnt | bigint | 0
is_cycled | boolean | f
is_called | boolean | t

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: PG Bug reporting form (#1)

On Sunday, January 14, 2018, PG Bug reporting form <noreply@postgresql.org>
wrote:

The following bug has been logged on the website:

Bug reference: 15010
Logged by: Anil Kumar G V
Email address: anilkumar.gv@gmail.com
PostgreSQL version: 9.3.0
Operating system: Ubuntu
Description:

Sometime sequence ID is getting skipped by 32 numbers. Here is some sample
sequence definition.

I don't think the exact cause of this particular skipping is documented
(it's database startup, maybe crash, related I think) but sequences are not
promised to be gap-less.

David J.

#3Daniel Gustafsson
daniel@yesql.se
In reply to: David G. Johnston (#2)
Re: BUG #15010: Sequence ID is getting skipped

On 15 Jan 2018, at 08:36, David G. Johnston <david.g.johnston@gmail.com> wrote:

On Sunday, January 14, 2018, PG Bug reporting form <noreply@postgresql.org <mailto:noreply@postgresql.org>> wrote:
The following bug has been logged on the website:

Bug reference: 15010
Logged by: Anil Kumar G V
Email address: anilkumar.gv@gmail.com <mailto:anilkumar.gv@gmail.com>
PostgreSQL version: 9.3.0
Operating system: Ubuntu
Description:

Sometime sequence ID is getting skipped by 32 numbers. Here is some sample
sequence definition.

I don't think the exact cause of this particular skipping is documented (it's database startup, maybe crash, related I think) but sequences are not promised to be gap-less.

Sequences are indeed not guaranteed to be gapless, and given that the report is
for 32 numbers it sounds like the SEQ_LOG_VALS skipping. From sequence.c:

/*
* We don't want to log each fetching of a value from a sequence,
* so we pre-log a few fetches in advance. In the event of
* crash we can lose (skip over) as many values as we pre-logged.
*/
#define SEQ_LOG_VALS 32

cheers ./daniel