bareos: playground 54a57b09
Author | Committer | Branch | Timestamp | Parent | |
---|---|---|---|---|---|
Marco van Wieringen | Marco van Wieringen | playground | 2014-04-05 10:10 | playground c20588ad | Pending |
Changeset | Abstract the accurate payload storage from the datatype used. Up until now the accurate payload was always stored in a htable (memory hash table) but that will not scale. We want to support multiple storage classes for the accurate payload (e.g. the actual accurate data accessed via the filename as key.) Things like Symas LMDB is a good candidate as a key/value store. This patch implements the accurate data using a class based abstraction that allows multiple implementations of the storage. Currently it supports the old HTABLE and LMDB. The prototype has some code that is not needed at this point as accurate data is written only ones and after that never updated so we don't strictly need an update method which is implemented for LMDB and is unneeded for HTABLE as there you get internal memory you can manipulate. The seen logic is moved into a simple bitmap that is part of the higher level B_ACCURATE class so we don't need to update the actual accurate payload when we only want to register that the item has been vistited. Otherwise for things like LMDB we keep on updating the data in the LMDB which is just to much overhead which we can easily work around with this bitmap. |
||||
mod - src/filed/Makefile.in | Diff File | ||||
mod - src/filed/accurate.c | Diff File | ||||
add - src/filed/accurate.h | Diff File | ||||
add - src/filed/accurate_htable.c | Diff File | ||||
add - src/filed/accurate_lmdb.c | Diff File | ||||
mod - src/filed/filed_conf.c | Diff File | ||||
mod - src/filed/filed_conf.h | Diff File | ||||
mod - src/include/jcr.h | Diff File | ||||
mod - src/win32/Makefile | Diff File | ||||
mod - src/win32/Makefile.inc | Diff File | ||||
mod - src/win32/compat/include/mingwconfig.h | Diff File | ||||
mod - src/win32/filed/Makefile | Diff File | ||||
add - src/win32/lmdb/Makefile | Diff File | ||||
add - src/win32/lmdb/make_def | Diff File |