pisa icon indicating copy to clipboard operation
pisa copied to clipboard

Add option that restores the ability to perform index compression in memory

Open gustingonzalez opened this issue 10 months ago • 7 comments

This adds the --in-memory option to the compress_inverted_index command, restoring the in-memory compression and allowing it to avoid using an intermediate buffer.

gustingonzalez avatar Apr 13 '24 23:04 gustingonzalez

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.27%. Comparing base (ce97f7b) to head (e8d7d76).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #580   +/-   ##
=======================================
  Coverage   93.27%   93.27%           
=======================================
  Files          89       89           
  Lines        4448     4448           
=======================================
  Hits         4149     4149           
  Misses        299      299           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Apr 14 '24 00:04 codecov[bot]

@elshize, done with the comments, but I'll be making some minor code refactoring as well.

gustingonzalez avatar Apr 14 '24 02:04 gustingonzalez

@elshize, I've noticed a few tests are failing. This comes from the master branch, so it might be worth considering as another issue. Here's the error:

The following tests FAILED:
	  8 - test_block_codecs:Example test case - pisa::optpfor_block (ILLEGAL)
	 10 - test_block_codecs:Example test case - pisa::streamvbyte_block (ILLEGAL)
	 11 - test_block_codecs:Example test case - pisa::maskedvbyte_block (ILLEGAL)
	 17 - test_block_codecs:Example test case - pisa::simdbp_block (ILLEGAL)
	 20 - test_block_codecs:Property test - pisa::streamvbyte_block (ILLEGAL)
	 21 - test_block_codecs:Property test - pisa::maskedvbyte_block (ILLEGAL)
	 27 - test_block_codecs:Property test - pisa::simdbp_block (ILLEGAL)
	 28 - test_block_freq_index:block_freq_index (ILLEGAL)
	 29 - test_block_posting_list:block_posting_list (ILLEGAL)
	 30 - test_block_posting_list:block_posting_list_reordering (ILLEGAL)
	 39 - test_compress:Compress index (ILLEGAL)
	 40 - test_compress:Compress quantized index (ILLEGAL)
	115 - test_stream_builder:Stream builder for block index (ILLEGAL)

gustingonzalez avatar Apr 14 '24 16:04 gustingonzalez

Tests seem to be working fine in CI. What system are you running this on? What compiler? Can you show the output of one of the test? E.g.:

./test/test_block_codecs

elshize avatar Apr 14 '24 16:04 elshize

Tests seem to be working fine in CI. What system are you running this on? What compiler? Can you show the output of one of the test? E.g.:

./test/test_block_codecs

@elshize, effectively there is a problem with my compiler. I tested again compiling a debug version, and it worked fine. I have to look the reasons of this, but at the moment this isn't blocking for me. The error is "ILLEGAL INSTRUCTION", I'm using g++11:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_block_codecs is a Catch v2.13.7 host application.
Run with -? for options

-------------------------------------------------------------------------------
Example test case - pisa::optpfor_block
-------------------------------------------------------------------------------
./test/test_block_codecs.cpp:67
...............................................................................

./test/test_block_codecs.cpp:81: FAILED:
due to a fatal error condition:
  SIGILL - Illegal instruction signal

===============================================================================
test cases: 1 | 1 failed
assertions: 1 | 1 failed

[1]    20027 illegal hardware instruction (core dumped)  ./test/test_block_codecs

gustingonzalez avatar Apr 14 '24 22:04 gustingonzalez

@gustingonzalez is it possible you previously compiled the code on one machine and executed it on a different one?

elshize avatar Apr 14 '24 22:04 elshize

@gustingonzalez is it possible you previously compiled the code on one machine and executed it on a different one?

Great! That was the reason!

gustingonzalez avatar Apr 14 '24 23:04 gustingonzalez