- Jan 25, 2020
-
-
Szymon Romik authored
detect GDB and disable tests
-
Szymon Romik authored
ref issue #469
-
Szymon Romik authored
-
- Jan 24, 2020
-
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
-
- Jan 23, 2020
-
-
Szymon Romik authored
Backport hash map erase fix to stable 1.8
-
Igor Chorazewicz authored
-
Igor Chorazewicz authored
Consider the following scenario (where A and B are in the same bucket): thread 1: thread 2: find(acc1, A) erase(A) find(acc2, B) First, thread 1 takes lock on the bucket and then on element A. Then, thread 2 takes a lock on the bucket and tries to lock element A but it can't because thread 1 already locked it - this way thread 2 is blocked. Next, thread 1 tries to lock the bucket but it can't because thread 2 holds it. Neither thread can progress. This patch fixes that by introducing the same algorithm as in lookup/insert. When trying to lock element in erase we now spin in a loop doing try_acquire and if we do not succeed after specified amount of time we drop bucket lock and try whole operation again.
-
- Jan 14, 2020
-
-
Igor Chorążewicz authored
Merge stable 1.7 into stable 1.8
-
- Jan 10, 2020
-
-
Igor Chorazewicz authored
-
- Jan 03, 2020
-
-
Igor Chorążewicz authored
Fix overrding TEST_DIR variable
-
Igor Chorazewicz authored
TEST_DIR is used to specify location of test artifacts. It can NOT be overwritten.
-
- Dec 31, 2019
-
-
Łukasz Stolarczuk authored
Add missing pmdk-debuginfo rpms installation
-
Łukasz Stolarczuk authored
-
Łukasz Stolarczuk authored
Merge changes from stable-1.6
-
- Dec 24, 2019
-
-
Igor Chorążewicz authored
tests: remove unnecessary #include <libpmemobj.h>
-
Igor Chorążewicz authored
Merge changes from stable-1.5
-
Igor Chorążewicz authored
allocator: remove unnecessary #include <libpmemobj.h>
-
Igor Chorazewicz authored
Including libpmemobj.h causes inclusion of all type macros which are not needed by C++.
-
Igor Chorazewicz authored
Including libpmemobj.h causes inclusion of all type macros which are not needed by C++.
-
- Dec 13, 2019
-
-
Igor Chorążewicz authored
test: remove concurrent_hash_map_pmreorder_insert_erase_mt test
-
- Dec 12, 2019
-
-
Lukasz Dorau authored
Multi-threaded tests cannot be run under pmreorder, because pmreorder does not support multi-threaded tests.
-
- Dec 04, 2019
-
-
Igor Chorążewicz authored
Vs 2019 fixes
-
- Dec 03, 2019
-
-
Łukasz Stolarczuk authored
Update comment for pool::persist(persistent_ptr&)
-
Igor Chorążewicz authored
Fix finding libpmem and libpmemobj in CMake
-
Igor Chorazewicz authored
Functions modified in this patch do not modify the object so they should be marked as const. This fixes compilation on VS 2019.
-
Igor Chorazewicz authored
to initialization list. Every const member (like table_ptr) should be initialized this way. Failing to do so may result in compilation error.
-
- Dec 02, 2019
-
-
Lukasz Dorau authored
Generate the fatal error if any of the required files is not found.
-
- Nov 29, 2019
-
-
Igor Chorazewicz authored
Former description could have been misinterpreted. Persist operation does not persist pointee but only a pointer - this change makes that clear. Ref: https://github.com/pmem/libpmemobj-cpp/issues/524
-
- Nov 19, 2019
-
-
Szymon Romik authored
Implement rehash_bucket using a transaction
-
- Nov 14, 2019
-
-
Igor Chorazewicz authored
And use it for long running tests (concurrent hash map drd tests).
-
Igor Chorazewicz authored
This test aborts application in the middle of rehash operation and checks consistency after restart.
-
- Nov 06, 2019
-
-
Igor Chorazewicz authored
This fixes problem with inconsistent state after crash. In previous implementation if application crashed in the middle of rehash it was possible that two buckets (old and new) pointed to the same element. This meant that size could be too big (some elements could be counted twice). Putting all operations which change list pointers inside of a transction solves this issue and eliminates requirement to have 'restore_after_crash' logic. set_rehashed is done outside of a transaction because otherwise: - on abort rehashed flag would be rolled back by obj using memcpy instead of std::atomic API which could be UB - some thread could check for rehashed flag and decide that rehash is not needed but after that transaction could abort and move elements back
-
Szymon Romik authored
Fail concurrent_hash_map drd/helgrind tets on non-pmem
-
- Nov 05, 2019
-
-
Igor Chorazewicz authored
Add option to enable concurrent_hash_map drd and helgrind tests. If this option is enabled and TEST_DIR points to non-pmem fail tests which require pmem and print appropriate error message.
-
- Nov 04, 2019
-
-
Igor Chorążewicz authored
Some tests and examples require clang >= 8.0
-
- Oct 29, 2019
-
-
Lukasz Dorau authored
-
Igor Chorążewicz authored
Fix installing libpmem-*.rpm
-
Igor Chorążewicz authored
Fix removing pkg-config rpm package
-