Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeneralTableTest.ApproximateOffsetOfCompressed test case failed in table_test #9910

Open
caipengbo opened this issue Apr 27, 2022 · 7 comments

Comments

@caipengbo
Copy link
Contributor

I ran the unit tests for Rocksdb version 6.29.5 and found that one test case failed:

[ RUN      ] GeneralTableTest.ApproximateOffsetOfCompressed
skipping xpress and xpress compression tests
Value 3529 is not in range [2000, 3525]
/rocksdb/table/table_test.cc:3842: Failure
Value of: Between(c.ApproximateOffsetOf("k03"), 2000, 3525)
  Actual: false
Expected: true
[  FAILED  ] GeneralTableTest.ApproximateOffsetOfCompressed (0 ms)

I looked at the code and found that it was related to the compression algorithm. I successfully installed all the compression algorithms tested, and the version information is as follows:

snappy V1.1.7
zlib V1.2.11
bzip2 V1.0.8
zstd V1.4.4
lz4 V1.9.1

I guess the failure of this test case is related to the effect of the compression algorithm, is that right?

I'd appreciate it if someone could help me out!

@anand1976
Copy link
Contributor

@caipengbo Thanks for bringing this to our attention. It looks like the test is very sensitive to the compression algorithm, as well as other factors like variation in overall file size due to metadata blocks. We probably need a more reliable way of verifying.

@siying
Copy link
Contributor

siying commented Jun 9, 2022

Do you know with which compression type it failed?

@caipengbo
Copy link
Contributor Author

Do you know with which compression type it failed?
@siying I ran it again, the failed compression type was snappy. Other types are successful.

@siying
Copy link
Contributor

siying commented Jun 10, 2022

Hmm... We use Snappy 1.1.3 in our regular tests. Not that big difference. Do you know the actual value when

Between(c.ApproximateOffsetOf("k03"), 2000, 3525)

assertion fails?

Perhaps printf? If it is not far off, we can just expand the range.

@caipengbo
Copy link
Contributor Author

The failed value is 3529.

@DaMatrix
Copy link
Contributor

I'm getting a similar error, except in my case the value is 3527 and it crashes afterwards.

[ RUN      ] GeneralTableTest.ApproximateOffsetOfCompressed
skipping xpress and xpress compression tests
Value 3527 is not in range [2000, 3525]
table/table_test.cc:4002: Failure
Value of: Between(c.ApproximateOffsetOf("k03"), 2000, 3525)
  Actual: false
Expected: true
terminate called after throwing an instance of 'testing::internal::GoogleTestFailureException'
  what():  table/table_test.cc:4002: Failure
Value of: Between(c.ApproximateOffsetOf("k03"), 2000, 3525)
  Actual: false
Expected: true
Received signal 6 (Aborted)
#0   /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7fc40ad08fb7] ??	??:0	
#1   /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7fc40ad0a921] ??	??:0	
#2   /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8c957) [0x7fc40b6fd957] ??	??:0	
#3   /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92ae6) [0x7fc40b703ae6] ??	??:0	
#4   /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92b21) [0x7fc40b703b21] ??	??:0	
#5   /usr/lib/x86_64-linux-gnu/libstdc++.so.6(__cxa_rethrow+0x49) [0x7fc40b703da9] ??	??:0	
#6   ./table_test(+0x18f5fd) [0x55cc5b5ae5fd] ??	??:0	
#7   ./table_test(+0x17fd2d) [0x55cc5b59ed2d] ??	??:0	
#8   ./table_test(+0x6440d) [0x55cc5b48340d] ??	??:0	
#9   /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fc40acebbf7] ??	??:0	
#10  ./table_test(+0x910da) [0x55cc5b4b00da] ??	??:0	
Aborted (core dumped)

@kovidasurampudi
Copy link

kovidasurampudi commented May 31, 2023

Hi, I am facing similar issue and unable to run the last test of make check command.

table/table_test.cc:4218: CompressionType = Snappy
terminate called after throwing an instance of 'testing::internal::GoogleTestFailureException'
what(): table/table_test.cc:4242: Failure
Value of: Between(c.ApproximateOffsetOf("xyz"), 4000, 7075)
Actual: false
Expected: true
Google Test trace:
table/table_test.cc:4218: CompressionType = Snappy
Received signal 6 (Aborted)
Invoking GDB for stack trace...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f0fb34ea45a in __GI___wait4 (pid=2084504, stat_loc=0x7ffc0ee83d3c, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
30 ../sysdeps/unix/sysv/linux/wait4.c: No such file or directory.
#4 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139705428114432) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
#5 __pthread_kill_internal (signo=6, threadid=139705428114432) at ./nptl/pthread_kill.c:78
78 in ./nptl/pthread_kill.c
#6 __GI___pthread_kill (threadid=139705428114432, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
89 in ./nptl/pthread_kill.c
#7 0x00007f0fb3442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
26 ../sysdeps/posix/raise.c: No such file or directory.
#8 0x00007f0fb34287f3 in __GI_abort () at ./stdlib/abort.c:79
79 ./stdlib/abort.c: No such file or directory.

Could you please help me find the reason for this and how to overcome it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants