The system call (int64)lseek(fd,0,SEEK_END) returns incorrect offset.
Issue
- The system call
(int64)lseek(fd,0,SEEK_END)returns incorrect offset during heavy workload with the following tracing:
FileSeek: 26 (pg_changetracking/CT_LOG_FULL) offset: 10944512
FileWrite: 26 (pg_changetracking/CT_LOG_FULL) offset: 10944512 size: 32768
FileSeek: 21 (pg_changetracking/CT_LOG_FULL) offset: 10973184 Next offset should be 10944512 + 32768 = 10977280, it is 4 k difference.
FileWrite: 21 (pg_changetracking/CT_LOG_FULL) offset: 10973184 size: 32768
FileWrite: 26 (pg_changetracking/CT_LOG_FULL) 11005952 32768 Since previous offset is wrong every offset after that is wrong.
Environment
- Red Hat Enterprise Linux 5.5
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.