Merge branch 'ignite-db-x' of https://github.com/gridgain/apache-ignite into ignite-db-2
# Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageImpl.java Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5761012a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5761012a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5761012a Branch: refs/heads/ignite-db-x-10884 Commit: 5761012af6ce4798c0fa94c86a4357a40cb02a6a Parents: 50e452c 6d68db9 Author: S.Vladykin <[email protected]> Authored: Wed Apr 27 10:08:48 2016 +0300 Committer: S.Vladykin <[email protected]> Committed: Wed Apr 27 10:08:48 2016 +0300 ---------------------------------------------------------------------- .../internal/pagemem/DirectMemoryUtils.java | 10 + .../ignite/internal/pagemem/FullPageId.java | 44 +++- .../ignite/internal/pagemem/PageIdUtils.java | 89 +++++--- .../ignite/internal/pagemem/PageMemory.java | 3 +- .../internal/pagemem/impl/FullPageIdTable.java | 111 +++++++-- .../ignite/internal/pagemem/impl/PageImpl.java | 9 + .../internal/pagemem/impl/PageMemoryImpl.java | 225 ++++++++++++++++++- .../pagemem/impl/PageIdUtilsSelfTest.java | 39 ++++ .../IgniteDbMultiNodePutGetSelfTest.java | 5 + .../IgniteDbSingleNodePutGetSelfTest.java | 120 ++++++++++ 10 files changed, 578 insertions(+), 77 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/5761012a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageImpl.java index 1e1fb78,28d4a19..91e7798 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageImpl.java @@@ -161,12 -165,16 +165,14 @@@ class PageImpl extends AbstractQueuedSy /** {@inheritDoc} */ @Override public ByteBuffer getForWrite() { - Thread th = Thread.currentThread(); + acquire(1); // This call is not reentrant. - if (getExclusiveOwnerThread() != th) { - acquire(1); + assert getExclusiveOwnerThread() == null: fullId(); - setExclusiveOwnerThread(th); + setExclusiveOwnerThread(Thread.currentThread()); - pageMem.writeCurrentTimestamp(ptr); - } ++ pageMem.writeCurrentTimestamp(ptr); + return reset(buf); } http://git-wip-us.apache.org/repos/asf/ignite/blob/5761012a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java ----------------------------------------------------------------------
