[SERVER-81904] Address test-only issue in UpdateChunkMapRandom unit test Created: 05/Oct/23  Updated: 06/Nov/23  Resolved: 17/Oct/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0, 5.0.22, 7.0.3, 4.4.26, 6.0.12

Type: Bug Priority: Major - P3
Reporter: Sergi Mateo Bellido Assignee: Aitor Esteve Alvarado
Resolution: Fixed Votes: 0
Labels: shardingemea-investigation
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Assigned Teams:
Sharding EMEA
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v7.1, v7.0, v6.0, v5.0, v4.4
Sprint: Sharding EMEA 2023-10-16, Sharding EMEA 2023-10-30
Participants:

 Description   

The UpdateChunkMapRandom unit tests sporadically hits an invariant when we increase the max number of chunks from 30 to 5000. It looks like we are wrongly computing some chunk bounds, the goal of this task is to understand the issue and open a new ticket to address it.

{"t":{"$date":"2023-10-05T18:01:48.207Z"},"s":"I",  "c":"TEST",     "id":23059,   "ctx":"main","msg":"Running","attr":{"test":"UpdateChunkMapRandom","rep":995,"reps":1000}}
{"t":{"$date":"2023-10-05T18:01:48.207Z"},"s":"I",  "c":"TEST",     "id":7162700, "ctx":"main","msg":"Generating random chunk vector","attr":{"numChunks":4630,"numShards":2760}}
{"t":{"$date":"2023-10-05T18:01:48.211Z"},"s":"I",  "c":"TEST",     "id":7162701, "ctx":"main","msg":"Creating new chunk map","attr":{"chunkBucketSize":5398}}
{"t":{"$date":"2023-10-05T18:01:48.906Z"},"s":"F",  "c":"ASSERT",   "id":23081,   "ctx":"main","msg":"Invariant failure","attr":{"expr":"min + 1 < max","msg":"Can't split range [1191031440, -1912904416]","file":"src/mongo/s/chunks_test_util.cpp","line":197}}
{"t":{"$date":"2023-10-05T18:01:48.906Z"},"s":"F",  "c":"ASSERT",   "id":23082,   "ctx":"main","msg":"\n\n***aborting after invariant() failure\n\n"}
{"t":{"$date":"2023-10-05T18:01:48.906Z"},"s":"F",  "c":"CONTROL",  "id":6384300, "ctx":"main","msg":"Writing fatal message","attr":{"message":"\n"}}
{"t":{"$date":"2023-10-05T18:01:48.908Z"},"s":"F",  "c":"CONTROL",  "id":6384300, "ctx":"main","msg":"Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}}
{"t":{"$date":"2023-10-05T18:01:49.002Z"},"s":"E",  "c":"CONTROL",  "id":31430,   "ctx":"main","msg":"Error collecting stack trace","attr":{"error":"unw_get_proc_name(FFFF8D3808DC): unspecified (general) error\n"}}
{"t":{"$date":"2023-10-05T18:01:49.002Z"},"s":"I",  "c":"CONTROL",  "id":31380,   "ctx":"main","msg":"BACKTRACE","attr":{"bt":{"backtrace":[{"a":"FFFF83D74F98","b":"FFFF83B30000","o":"244F98","s":"mongo::printStackTrace()","C":"mongo::printStackTrace()","s+":"40"},{"a":"FFFF83D70188","b":"FFFF83B30000","o":"240188","s":"abruptQuit","s+":"118"},{"a":"FFFF8D3808DC","b":"FFFF8D380000","o":"8DC","s":"__kernel_rt_sigreturn","s+":"0"},{"a":"FFFF820CF200","b":"FFFF82050000","o":"7F200","s":"pthread_key_delete","s+":"1A0"},{"a":"FFFF8208A67C","b":"FFFF82050000","o":"3A67C","s":"raise","s+":"1C"},{"a":"FFFF82077130","b":"FFFF82050000","o":"27130","s":"abort","s+":"E4"},{"a":"FFFF83D641B8","b":"FFFF83B30000","o":"2341B8","s":"mongo::(anonymous namespace)::callAbort()","C":"mongo::(anonymous namespace)::callAbort()","s+":"1C"},{"a":"FFFF83D64290","b":"FFFF83B30000","o":"234290","s":"mongo::invariantFailedWithMsg(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned int)","C":"mongo::invariantFailedWithMsg(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned int)","s+":"D8"},{"a":"AAAAE950398C","b":"AAAAE90B0000","o":"45398C","s":"mongo::chunks_test_util::calculateIntermediateShardKey(mongo::BSONObj const&, mongo::BSONObj const&, double, double)","C":"mongo::chunks_test_util::calculateIntermediateShardKey(mongo::BSONObj const&, mongo::BSONObj const&, double, double)","s+":"6C0"},{"a":"AAAAE9503E30","b":"AAAAE90B0000","o":"453E30","s":"mongo::chunks_test_util::performRandomChunkOperations(std::vector<mongo::ChunkType, std::allocator<mongo::ChunkType> >*, unsigned long)","C":"mongo::chunks_test_util::performRandomChunkOperations(std::vector<mongo::ChunkType, std::allocator<mongo::ChunkType> >*, unsigned long)","s+":"428"},{"a":"AAAAE9530034","b":"AAAAE90B0000","o":"480034","s":"mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom::_doTest()","C":"mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom::_doTest()","s+":"12C"},{"a":"FFFF8CBF6A9C","b":"FFFF8CBB0000","o":"46A9C","s":"mongo::unittest::Test::run()","C":"mongo::unittest::Test::run()","s+":"2C"},{"a":"AAAAE952FDA0","b":"AAAAE90B0000","o":"47FDA0","s":"std::_Function_handler<void (), mongo::unittest::Test::RegistrationAgent<mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom>::RegistrationAgent(mongo::unittest::TestInfo const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)","C":"std::_Function_handler<void (), mongo::unittest::Test::RegistrationAgent<mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom>::RegistrationAgent(mongo::unittest::TestInfo const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)","s+":"A8"},{"a":"FFFF8CBF8894","b":"FFFF8CBB0000","o":"48894","s":"mongo::unittest::Suite::run(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&, int)","C":"mongo::unittest::Suite::run(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&, int)","s+":"370"},{"a":"FFFF8CBF9D20","b":"FFFF8CBB0000","o":"49D20","s":"mongo::unittest::Suite::run(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> > > > const&, 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&, int)","C":"mongo::unittest::Suite::run(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> > > > const&, 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&, int)","s+":"350"},{"a":"FFFF8CF38034","b":"FFFF8CF20000","o":"18034","s":"main","s+":"B54"},{"a":"FFFF820773FC","b":"FFFF82050000","o":"273FC","s":"__libc_init_first","s+":"7C"},{"a":"FFFF820774CC","b":"FFFF82050000","o":"274CC","s":"__libc_start_main","s+":"98"},{"a":"AAAAE939AEB0","b":"AAAAE90B0000","o":"2EAEB0","s":"_start","s+":"30"}],"processInfo":{"mongodbVersion":"unknown","gitVersion":"none","compiledModules":["unknown"],"uname":{"sysname":"Linux","release":"5.19.0-1024-aws","version":"#25~22.04.1-Ubuntu SMP Tue Apr 18 23:43:29 UTC 2023","machine":"aarch64"},"somap":[{"b":"AAAAE90B0000","elfType":3,"buildId":"33EF911154C356E7"},{"b":"FFFF8D380000","path":"linux-vdso.so.1","elfType":3,"buildId":"9F2578BFB0136C2D2D24CC334E37CA8315A5EED7"},{"b":"FFFF8CF20000","path":"/home/ubuntu/dev/mongo/build/install/bin/../lib/libunittest_main.so","elfType":3,"buildId":"31561FB1C1EC8FFC"},{"b":"FFFF8CBB0000","path":"/home/ubuntu/dev/mongo/build/install/bin/../lib/libunittest.so","elfType":3,"buildId":"6DC9C820B06343F2"},{"b":"FFFF83B30000","path":"/home/ubuntu/dev/mongo/build/install/bin/../lib/libbase.so","elfType":3,"buildId":"58F75D20111B8BB1"},{"b":"FFFF82050000","path":"/lib/aarch64-linux-gnu/libc.so.6","elfType":3,"buildId":"F37F3AA07C797E333FD106472898D361F71798F5"}]}}},"tags":[]}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF83D74F98","b":"FFFF83B30000","o":"244F98","s":"mongo::printStackTrace()","C":"mongo::printStackTrace()","s+":"40"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF83D70188","b":"FFFF83B30000","o":"240188","s":"abruptQuit","s+":"118"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8D3808DC","b":"FFFF8D380000","o":"8DC","s":"__kernel_rt_sigreturn","s+":"0"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF820CF200","b":"FFFF82050000","o":"7F200","s":"pthread_key_delete","s+":"1A0"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8208A67C","b":"FFFF82050000","o":"3A67C","s":"raise","s+":"1C"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF82077130","b":"FFFF82050000","o":"27130","s":"abort","s+":"E4"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF83D641B8","b":"FFFF83B30000","o":"2341B8","s":"mongo::(anonymous namespace)::callAbort()","C":"mongo::(anonymous namespace)::callAbort()","s+":"1C"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF83D64290","b":"FFFF83B30000","o":"234290","s":"mongo::invariantFailedWithMsg(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned int)","C":"mongo::invariantFailedWithMsg(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned int)","s+":"D8"}}}
{"t":{"$date":"2023-10-05T18:01:49.003Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"AAAAE950398C","b":"AAAAE90B0000","o":"45398C","s":"mongo::chunks_test_util::calculateIntermediateShardKey(mongo::BSONObj const&, mongo::BSONObj const&, double, double)","C":"mongo::chunks_test_util::calculateIntermediateShardKey(mongo::BSONObj const&, mongo::BSONObj const&, double, double)","s+":"6C0"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"AAAAE9503E30","b":"AAAAE90B0000","o":"453E30","s":"mongo::chunks_test_util::performRandomChunkOperations(std::vector<mongo::ChunkType, std::allocator<mongo::ChunkType> >*, unsigned long)","C":"mongo::chunks_test_util::performRandomChunkOperations(std::vector<mongo::ChunkType, std::allocator<mongo::ChunkType> >*, unsigned long)","s+":"428"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"AAAAE9530034","b":"AAAAE90B0000","o":"480034","s":"mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom::_doTest()","C":"mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom::_doTest()","s+":"12C"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8CBF6A9C","b":"FFFF8CBB0000","o":"46A9C","s":"mongo::unittest::Test::run()","C":"mongo::unittest::Test::run()","s+":"2C"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"AAAAE952FDA0","b":"AAAAE90B0000","o":"47FDA0","s":"std::_Function_handler<void (), mongo::unittest::Test::RegistrationAgent<mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom>::RegistrationAgent(mongo::unittest::TestInfo const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)","C":"std::_Function_handler<void (), mongo::unittest::Test::RegistrationAgent<mongo::(anonymous namespace)::UnitTest_SuiteNameChunkMapTestTestNameUpdateChunkMapRandom>::RegistrationAgent(mongo::unittest::TestInfo const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)","s+":"A8"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8CBF8894","b":"FFFF8CBB0000","o":"48894","s":"mongo::unittest::Suite::run(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&, int)","C":"mongo::unittest::Suite::run(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&, int)","s+":"370"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8CBF9D20","b":"FFFF8CBB0000","o":"49D20","s":"mongo::unittest::Suite::run(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> > > > const&, 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&, int)","C":"mongo::unittest::Suite::run(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> > > > const&, 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&, int)","s+":"350"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF8CF38034","b":"FFFF8CF20000","o":"18034","s":"main","s+":"B54"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF820773FC","b":"FFFF82050000","o":"273FC","s":"__libc_init_first","s+":"7C"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"FFFF820774CC","b":"FFFF82050000","o":"274CC","s":"__libc_start_main","s+":"98"}}}
{"t":{"$date":"2023-10-05T18:01:49.004Z"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"main","msg":"Frame","attr":{"frame":{"a":"AAAAE939AEB0","b":"AAAAE90B0000","o":"2EAEB0","s":"_start","s+":"30"}}}



 Comments   
Comment by Githook User [ 06/Nov/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)

GitOrigin-RevId: c654bb4d9e09b2ead331643fe2c13424e8f65a5b
Branch: v4.4
https://github.com/mongodb/mongo/commit/c86dc8e2443e69341a5a3a2005993444b3c4672d

Comment by Githook User [ 05/Nov/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)

GitOrigin-RevId: 766673142c51409708b251c06f7731775cc2b5f5
Branch: v4.4
https://github.com/mongodb/mongo/commit/c654bb4d9e09b2ead331643fe2c13424e8f65a5b

Comment by Githook User [ 05/Nov/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)

GitOrigin-RevId: 8fed3de1fd5d05f0d1dbcbb4da0304f39d1b07fc
Branch: v4.4
https://github.com/mongodb/mongo/commit/766673142c51409708b251c06f7731775cc2b5f5

Comment by Githook User [ 04/Nov/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)

GitOrigin-RevId: d28f90bab47c51959437b04fc62d32a8e119763f
Branch: v4.4
https://github.com/mongodb/mongo/commit/8fed3de1fd5d05f0d1dbcbb4da0304f39d1b07fc

Comment by Githook User [ 19/Oct/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)

GitOrigin-RevId: 275ceae5d57fb284c5792258169292c75a557dea
Branch: v4.4
https://github.com/mongodb/mongo/commit/d28f90bab47c51959437b04fc62d32a8e119763f

Comment by Githook User [ 18/Oct/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)
Branch: v5.0
https://github.com/mongodb/mongo/commit/9a35a084529480ab45744fa2de247d1be7c3a95c

Comment by Githook User [ 18/Oct/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)
Branch: v6.0
https://github.com/mongodb/mongo/commit/66332438d83778566c8d2fbb7e79d3baf795b994

Comment by Githook User [ 18/Oct/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom

(cherry picked from commit 83f713e3e5319127e1b9f883a2df01b558b97928)
Branch: v7.0
https://github.com/mongodb/mongo/commit/8ceae98f17c90bd945ab097a8d57c70ee458b39c

Comment by Githook User [ 17/Oct/23 ]

Author:

{'name': 'Aitor Esteve Alvarado', 'email': 'aitor.esteve@mongodb.com', 'username': 'atesteve'}

Message: SERVER-81904 Fix integer overflow in UpdateChunkMapRandom
Branch: master
https://github.com/mongodb/mongo/commit/83f713e3e5319127e1b9f883a2df01b558b97928

Generated at Thu Feb 08 06:47:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.