fluree / ledger

Fluree ledger server source
GNU Affero General Public License v3.0
77 stars 8 forks source link

Feature/index rebuild from last #220

Open bplatz opened 8 months ago

bplatz commented 8 months ago

Fix for v1.x branch.

This addresses an indexing issue where serialzation of an index leaf's history will throw an exception because the :flakes value is nil.

This situation only happens if an index leaf is full of predicates dedicated with no history, in which case there will not be any history flakes on that node. The fix will ensure an empty vector is at least present on the history leaf in that situation.

This also adds an immense amount of logging for index serialization issues. Because there can be 10s of thousands of index nodes, an error without context of where it happened is not useful. If this sort of error happens again, which it shouldn't, a ton of information will be logged out that could allow diagnosis of the problem.

This also adds a remote REPL option to ./fluree_start.sh to assist in remote debugging if needed.