OpenLogReplicator icon indicating copy to clipboard operation
OpenLogReplicator copied to clipboard

ERROR 50022 when restarting OLR docker container

Open keithlovingcats opened this issue 5 months ago • 0 comments

A brief description of the bug. OLR is deployed by docker, use docker restart or docker stop then docker start, OLR fails to start:

2025-09-05 09:14:43 INFO  00000 reading schema for ORA1 for scn: 3885370
2025-09-05 09:14:43 ERROR 50022 duplicate SYS.USER$ (ROWID: AAAAAKAABAAAADRAAB, USER#: 0, NAME: 'SYS', SPARE1: [384,0]) for insert
2025-09-05 09:14:43 INFO  00000 Replicator for: ORA1 is shutting down
2025-09-05 09:14:43 INFO  00000 Memory HWM: 64MB, builder HWM: 1MB, misc HWM: 0MB, parser HWM: 0MB, disk read buffer HWM: 0MB, transaction HWM: 0MB, swapped: 0MB, disk write buffer HWM: 1MB
2025-09-05 09:14:43 INFO  00000 writer is stopping: file:/opt/output/results.txt, hwm queue size: 0

=================================================================
==6==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x7fb8ff3804c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x563aed90aebf in OpenLogReplicator::SerializerJson::deserializeSysUser(OpenLogReplicator::Metadata*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&) /opt/OpenLogReplicator-1.8.6/src/metadata/SerializerJson.cpp:991
    #2 0x563aed8f54a0 in OpenLogReplicator::SerializerJson::deserialize(OpenLogReplicator::Metadata*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::unordered_map<unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&, bool, bool) /opt/OpenLogReplicator-1.8.6/src/metadata/SerializerJson.cpp:636
    #3 0x563aed7eeae5 in OpenLogReplicator::Metadata::readCheckpoint(OpenLogReplicator::Scn) /opt/OpenLogReplicator-1.8.6/src/metadata/Metadata.cpp:496
    #4 0x563aed7ebf6e in OpenLogReplicator::Metadata::readCheckpoints() /opt/OpenLogReplicator-1.8.6/src/metadata/Metadata.cpp:449
    #5 0x563aed16a61a in OpenLogReplicator::Replicator::run() /opt/OpenLogReplicator-1.8.6/src/replicator/Replicator.cpp:171
    #6 0x563aed12bf59 in OpenLogReplicator::Thread::contextRun() /opt/OpenLogReplicator-1.8.6/src/common/Thread.h:94
    #7 0x563aed12bb11 in OpenLogReplicator::Thread::runStatic(void*) /opt/OpenLogReplicator-1.8.6/src/common/Thread.cpp:42
    #8 0x7fb8f965c1f4  (/lib/x86_64-linux-gnu/libc.so.6+0x891f4)

SUMMARY: AddressSanitizer: 72 byte(s) leaked in 1 allocation(s).

Is the bug present on the latest master branch. YES, I'm using latest 1.8.6 version

Describe steps required to reproduce the bug. I'm using Oracle 21 docker deploy, Oracle and OLR deployment && config are described in another bug report: UPDATE event does not have primary key value

Additional context If i delete all files in checkpoint folder, then OLR will start success, so the attachment is the checkpoint folder zip If i search the error rowId [AAAAAKAABAAAADRAAB] in checkpoint folder, there are multiple occurrence: Image

checkpoint.zip

keithlovingcats avatar Sep 05 '25 09:09 keithlovingcats