[ignite] 01/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 323ef8e12684b0fc73452c152242fe4dc123e244 Merge: 1da9dc3 7e73098 Author: sboikov AuthorDate: Mon Aug 26 20:11:40 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java RELEASE_NOTES.txt | 13 + .../examples/ml/knn/ANNClassificationExample.java |3 +- .../examples/ml/knn/IrisClassificationExample.java | 17 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 13 +- .../selection/scoring/RegressionMetricExample.java | 12 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 11 +- .../internal/jdbc2/JdbcStreamingSelfTest.java | 56 ++ .../ignite/jdbc/JdbcErrorsAbstractSelfTest.java| 55 ++ .../thin/JdbcThinStreamingAbstractSelfTest.java|8 + .../DiskPageCompressionIntegrationTest.java|8 +- .../main/java/org/apache/ignite/IgniteCluster.java | 15 + .../org/apache/ignite/IgniteSystemProperties.java | 16 +- .../org/apache/ignite/internal/IgniteFeatures.java |9 + .../org/apache/ignite/internal/IgniteKernal.java | 219 +++-- .../org/apache/ignite/internal/IgnitionEx.java | 14 +- .../internal/TransactionMetricsMxBeanImpl.java |4 + .../internal/client/GridClientClusterState.java| 14 + .../client/impl/GridClientClusterStateImpl.java| 22 +- .../impl/connection/GridClientConnection.java | 22 + .../connection/GridClientNioTcpConnection.java | 18 + .../ClusterReadOnlyModeCheckedException.java | 78 ++ .../internal/cluster/DetachedClusterNode.java |4 +- .../internal/cluster/IgniteClusterAsyncImpl.java | 10 + .../ignite/internal/cluster/IgniteClusterImpl.java | 58 +- .../internal/commandline/BaselineCommand.java |2 +- ...java => ClusterReadOnlyModeDisableCommand.java} | 47 +- java => ClusterReadOnlyModeEnableCommand.java} | 47 +- .../ignite/internal/commandline/CommandList.java |8 +- .../ignite/internal/commandline/StateCommand.java | 13 +- .../ignite/internal/commandline/TxCommands.java|2 +- .../ignite/internal/jdbc2/JdbcBatchUpdateTask.java |9 +- .../communication/AbstractTransmission.java| 111 +++ .../managers/communication/ChunkReceiver.java | 115 +++ .../managers/communication/FileReceiver.java | 129 +++ .../managers/communication/FileSender.java | 172 .../managers/communication/GridIoManager.java | 1019 +++- .../communication/GridIoMessageFactory.java|5 + .../communication/SessionChannelMessage.java | 136 +++ .../communication/TransmissionHandler.java | 76 ++ .../managers/communication/TransmissionMeta.java | 197 .../managers/communication/TransmissionPolicy.java | 43 + .../communication/TransmissionReceiver.java| 71 ++ .../managers/discovery/ClusterMetricsImpl.java | 57 +- .../internal/metric/IoStatisticsHolderCache.java |4 +- .../internal/metric/IoStatisticsHolderIndex.java |4 +- .../internal/pagemem/wal/record/PageSnapshot.java |5 - .../affinity/GridAffinityAssignmentV2.java | 15 +- .../affinity/HistoryAffinityAssignmentImpl.java|7 +- .../processors/cache/CacheGroupMetricsImpl.java|4 +- .../cache/CacheJoinNodeDiscoveryData.java |7 + .../processors/cache/CacheMetricsImpl.java | 138 +-- .../internal/processors/cache/CachesRegistry.java | 33 +- .../processors/cache/ClusterCachesInfo.java| 70 +- .../cache/DynamicCacheChangeRequest.java | 15 +- .../processors/cache/GridCacheMapEntry.java| 16 +- .../internal/processors/cache/GridCacheMvcc.java | 43 +- .../processors/cache/GridCacheMvccCandidate.java | 41 +- .../processors/cache/GridCacheMvccManager.java |4 +- .../processors/cache/GridCacheProcessor.java | 1017 ++- .../processors/cache/GridCacheSharedManager.java |8 + .../cache/GridCacheSharedManagerAdapter.java | 15 + .../internal/processors/cache/GridCacheUtils.java |7 + .../processors/cache/GridLocalConfigManager.java | 333 +++ .../cache/IgniteCacheOffheapManagerImpl.java | 35 +- .../processors/cache/StateChangeRequest.java |7 + .../cache/ValidationOnNodeJoinUtils.java | 754 +++ .../cache/distributed/GridCacheTxFinishSync.java | 366 --- .../distributed/GridDistributedCacheEntry.java | 18 +- .../dht/GridDhtTopologyFutureAdapter.java |6 +- .../dht/GridDhtTxAbstractEnlistFuture.java |1 - .../distribut
[ignite] 02/02: Added tests
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 8fd5815ff20c7fc22cae3b0230b787184e1863c4 Author: sboikov AuthorDate: Mon Aug 26 21:07:54 2019 +0300 Added tests --- .../org/apache/ignite/IgniteSystemProperties.java | 3 +++ .../processors/cache/CacheGroupContext.java| 10 .../processors/cache/GridCacheMapEntry.java| 5 ++-- .../cache/IgniteCacheOffheapManagerImpl.java | 15 +++ .../CacheRemoveWithTombstonesLoadTest.java | 4 +-- .../distributed/CacheRemoveWithTombstonesTest.java | 18 ++--- ...onedNearDisabledFullApiForceTombstonesTest.java | 30 ++ ...CachePartitionedFullApiForceTombstonesTest.java | 30 ++ .../IgniteCacheFullApiSelfTestSuite.java | 6 + 9 files changed, 95 insertions(+), 26 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index 746c7a2..084a83d 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -1071,6 +1071,9 @@ public final class IgniteSystemProperties { /** For test purposes only. Force Mvcc mode. */ public static final String IGNITE_FORCE_MVCC_MODE_IN_TESTS = "IGNITE_FORCE_MVCC_MODE_IN_TESTS"; +/** For test purposes only. Forces tombstones creation for all removes. */ +public static final String IGNITE_FORCE_TOMBSTONES_TESTS = "IGNITE_FORCE_TOMBSTONES_IN_TESTS"; + /** * Allows to log additional information about all restored partitions after binary and logical recovery phases. * diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index c2cba6b..8ea23e0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -28,6 +28,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.ReadWriteLock; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteLogger; +import org.apache.ignite.IgniteSystemProperties; import org.apache.ignite.cache.affinity.AffinityFunction; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.CacheConfiguration; @@ -190,6 +191,9 @@ public class CacheGroupContext { /** Cache group metrics. */ private final CacheGroupMetricsImpl metrics; +/** */ +private final boolean forceTombstones = IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_FORCE_TOMBSTONES_TESTS, false); + /** * @param ctx Context. * @param grpId Group ID. @@ -1296,6 +1300,9 @@ public class CacheGroupContext { * @return {@code True} if need create temporary tombstones entries for removed data. */ public boolean supportsTombstone() { +if (forceTombstones) +return true; + return !mvccEnabled && !isLocal(); } @@ -1304,6 +1311,9 @@ public class CacheGroupContext { * @return {@code True} if need create tombstone for remove in given partition. */ public boolean createTombstone(@Nullable GridDhtLocalPartition part) { +if (forceTombstones && part != null) +return true; + return part != null && supportsTombstone() && part.state() == GridDhtPartitionState.MOVING; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index e372003..ae63434 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -1712,9 +1712,8 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme interceptRes = cctx.config().getInterceptor().onBeforeRemove(entry0); -if (cctx.cancelRemove(interceptRes)) { +if (cctx.cancelRemove(interceptRes)) return new GridCacheUpdateTxResult(false, logPtr); -} } if (cctx.group().createTombstone(localPartition())) { @@ -5856,7 +5855,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme * @param val New value. * @param ver New version. * @param expireTime New expire t
[ignite] branch ignite-11704 updated (1da9dc3 -> 8fd5815)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 1da9dc3 ignite-11704 add 82a6e27 Added the crypto notice to apache ignite add c41466f IGNITE-10654 Print warn message in case of index creating with already existing fields. add 0bb7c17 IGNITE-11924: Migrate TransactionMetricsMxBean (#6733) add 736c133 IGNITE-12028 [IEP-35] HitRateMetric should provide rateTimeInterval value to metrics exporter (#6739) add b6dbc9e IGNITE-5227 StackOverflowError in GridCacheMapEntry#checkOwnerChanged() - Fixes #6736. add 4efe78b IGNITE-11922: Migration of ClusterMetricsMXBeanImpl to the new metric framework (#6648) add 32bc31e IGNITE-12037 Ignore tests in MVCC PDS 3 suite canonically - Fixes #6741. add d458f91 IGNITE-12026: DOC: JavaDoc correction for MemoryEventStorageSpi. - Fixes #6740. add 2413c94 IGNITE-12023: Spatial indices for KNN. add 31e6c48 IGNITE-12023: Fix code style. add c48d78f Merge pull request #6732 from gridgain/ignite-12023 add b3e04fd IGNITE-11985 .NET: Fix LINQ nulls handling add 963eb37 IGNITE-12045: JmxExporterSpi -> JmxMetricExporterSpi. (#6754) add 5dcac0b Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite add 85af9c7 Updated an incorrect WARN message add 1f8cf04 IGNITE-12048 Bugs & tests fixes - Fixes #6756. add 2d4fe21 IGNITE-12050 Ignore and scale various MVCC tests - Fixes #6758. add 27e9f70 IGNITE-9562 Destroyed cache that resurrected on an old offline node breaks PME - Fixes #6748. add 0765910 IGNITE-12043: JMX exporter reports incorrect description. (#6762) add 1392332 IGNITE-12052 GridDhtTxPrepareFuture should print transaction in case of assertion error - Fixes #6761. add e7864f1 IGNITE-12036 Changing baseline via set command may cause NPEs if configured NodeFilter takes node attributes into account - Fixes #6743. add 4eda065 IGNITE-6957 Reduce excessive int boxing when accessing cache by ID - Fixes #6536. add a97dbe6 IGNITE-11256 Implement read-only mode for grid - Fixes #6423. add e6615a7 IGNITE-11982 revert part of batch fixes commit, will be merged in another issue. add d54a0ba IGNITE-12060 Fixed incorrect row size calculation, lead to tree corruption. add 498712b IGNITE-5714 Implementation of suspend/resume for pessimistic transactions - Fixes #6483. add e9b3c4c IGNITE-12047 Fixed senderNodeId is absent in StatusCheckMessage - Fixes #6753. add f3084d3 IGNITE-12051 Update javadoc for the IgniteKernal class - Fixes #6760. add d9fde7e IGNITE-12046 Redundant LongMetric interface methods are removed add 7d1b87a IGNITE-10619: Transfer of files between nodes via CommumicationSpi. add 5a250d2 IGNITE-10619: fix javadoc link on private class (#6776) add 089d3c2 IGNITE-11848 Monitoring & Profiling: remove IMetricExporterSpi from .NET add d13e442 IGNITE-12059 DiskPageCompressionConfigValidationTest.testIncorrectStaticCacheConfiguration fails - Fixes #6765. add 4131935 IGNITE-12068 Fix wrong single row result when a part of complex PK is looked up - Fixes #6778. add e95c7b1 IGNITE-12057 Fixed persistence files are stored to temp dir add fb2e1e2 IGNITE-10697: [ML] Add Frequency Encoding (#6784) add 2ec1bb8 IGNITE-12073 Improve javadoc for the IGNITE_UPDATE_NOTIFIER system property add dd3e219 Ignite 2.7.6-rc0: Release notes - Fixes #6788. add dde8174 IGNITE-12061 Fix inline size change. This closes #6770. add ad89c8e IGNITE-12082 Update versions for pre-build DEB/RPM packages add 02a9e82 Fix of release notes for Ignite 2.7.6. add 284e5e8 IGNITE-12082 Update versions for pre-build DEB/RPM packages, fixed date for RPM add 7484b3f IGNITE-12082 Update versions for pre-build DEB/RPM packages, fixed date and version with -1 suffix for RPM add 27a837b IGNITE-12082 Update versions for pre-build DEB/RPM packages, fixed date and version with -1 suffix for RPM and for DEB add 82afed5 IGNITE-12095 .NET: Disable API parity tests add 7e73098 IGNITE-10808 Fixed Discovery message queue may build up with TcpDiscoveryMetricsUpdateMessage - Fixes #5771 new 323ef8e Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 new 8fd5815 Added tests The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: RELEASE_NOTES.txt | 13 + .../examples/ml/knn/ANNClassificationExample.java |3 +- .../examples/ml/knn/IrisClassificationExample.java | 17 +- .../examples/ml/knn/KNNCla
[ignite] branch ignite-11704-1 deleted (was 2394c56)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704-1 in repository https://gitbox.apache.org/repos/asf/ignite.git. was 2394c56 ignite-11704 This change permanently discards the following revisions: discard 2394c56 ignite-11704
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 1da9dc3 ignite-11704 1da9dc3 is described below commit 1da9dc31b51718f595334a32e60e11f571676dd5 Author: sboikov AuthorDate: Thu Aug 1 09:43:33 2019 +0300 ignite-11704 --- .../ignite/internal/processors/cache/CacheGroupContext.java | 2 +- .../apache/ignite/internal/processors/cache/GridCacheContext.java | 8 ++-- .../ignite/internal/processors/cache/GridCacheMapEntry.java | 3 +++ .../internal/processors/cache/IgniteCacheOffheapManagerImpl.java | 2 ++ .../cache/distributed/dht/topology/GridDhtLocalPartition.java | 2 -- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 3a7a445..c2cba6b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -1296,7 +1296,7 @@ public class CacheGroupContext { * @return {@code True} if need create temporary tombstones entries for removed data. */ public boolean supportsTombstone() { -return !sharedGroup() && !hasAtomicCaches && !mvccEnabled && !isLocal(); +return !mvccEnabled && !isLocal(); } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 959095c..4c51981 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -625,8 +625,12 @@ public class GridCacheContext implements Externalizable { public void cache(GridCacheAdapter cache) { this.cache = cache; -deferredDel = !grp.supportsTombstone() && (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || -(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC)); +if (grp.supportsTombstone() && cache.configuration().getAtomicityMode() == TRANSACTIONAL) +deferredDel = false; +else { +deferredDel = (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || +(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC)); +} } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 1133085..db066b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -4505,6 +4505,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme CacheDataRow row = cctx.offheap().read(this); +if (cctx.offheap().isTombstone(row)) +return; + if (row != null && (filter == null || filter.apply(row))) clo.apply(row); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 1f3a22d..9d15358 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -628,6 +628,8 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager GridCacheVersion ver, GridDhtLocalPartition part) throws IgniteCheckedException { assert part != null; +assert !cctx.isNear(); +assert !cctx.isLocal(); dataStore(part).removeWithTombstone(cctx, key, ver, part); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java index d9b34c6..f098e99 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java +++ b/modules/core/src/main/j
[ignite] 01/01: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704-1 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 2394c5653782027ca9998a80a06942f9cf0b97b9 Author: sboikov AuthorDate: Wed Jul 31 23:48:51 2019 +0300 ignite-11704 --- .../ignite/internal/processors/cache/CacheGroupContext.java | 2 +- .../apache/ignite/internal/processors/cache/GridCacheContext.java | 8 ++-- .../ignite/internal/processors/cache/GridCacheMapEntry.java | 3 +++ .../internal/processors/cache/IgniteCacheOffheapManagerImpl.java | 2 ++ .../cache/distributed/dht/topology/GridDhtLocalPartition.java | 2 -- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 3a7a445..c2cba6b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -1296,7 +1296,7 @@ public class CacheGroupContext { * @return {@code True} if need create temporary tombstones entries for removed data. */ public boolean supportsTombstone() { -return !sharedGroup() && !hasAtomicCaches && !mvccEnabled && !isLocal(); +return !mvccEnabled && !isLocal(); } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 959095c..4c51981 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -625,8 +625,12 @@ public class GridCacheContext implements Externalizable { public void cache(GridCacheAdapter cache) { this.cache = cache; -deferredDel = !grp.supportsTombstone() && (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || -(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC)); +if (grp.supportsTombstone() && cache.configuration().getAtomicityMode() == TRANSACTIONAL) +deferredDel = false; +else { +deferredDel = (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || +(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC)); +} } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 1133085..db066b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -4505,6 +4505,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme CacheDataRow row = cctx.offheap().read(this); +if (cctx.offheap().isTombstone(row)) +return; + if (row != null && (filter == null || filter.apply(row))) clo.apply(row); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 1f3a22d..9d15358 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -628,6 +628,8 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager GridCacheVersion ver, GridDhtLocalPartition part) throws IgniteCheckedException { assert part != null; +assert !cctx.isNear(); +assert !cctx.isLocal(); dataStore(part).removeWithTombstone(cctx, key, ver, part); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java index d9b34c6..f098e99 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java @@ -1174,8 +1174,6 @@ public cl
[ignite] branch ignite-11704-1 created (now 2394c56)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704-1 in repository https://gitbox.apache.org/repos/asf/ignite.git. at 2394c56 ignite-11704 This branch includes the following new commits: new 2394c56 ignite-11704 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] branch ignite-11704 updated (a6cd27d -> b4e5941)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from a6cd27d ignite-11704 add 1ea1505 IGNITE-7883 Cluster can have inconsistent affinity configuration. add 88ab8f7 IGNITE-11961: JMX metrics for PME timings (#6701) add c1af01a IGNITE-9633: [ML] Hyper-parameter tuning via Genetic Algorithm (#6731) new b4e5941 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../ml/TrainingWithBinaryObjectExample.java| 2 + .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 34 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 + .../TensorFlowDistributedInferenceExample.java | 2 + .../inference/TensorFlowLocalInferenceExample.java | 1 + .../TensorFlowThreadedInferenceExample.java| 1 + .../examples/ml/knn/ANNClassificationExample.java | 2 + .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 + .../ml/preprocessing/BinarizationExample.java | 2 + .../examples/ml/preprocessing/ImputingExample.java | 2 + .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 + .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 + .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 + .../GDBOnTreesRegressionTrainerExample.java| 2 + .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 5 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 24 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21 +- .../ml/tutorial/TutorialStepByStepExample.java | 12 + .../Step_10_RandomSearch.java} | 54 ++- .../Step_11_Parallel_BrutForce_Search.java}| 58 ++- .../Step_12_Parallel_Random_Search.java} | 63 +-- .../Step_13_Genetic_Programming_Search.java} | 50 ++- ...ep_14_Parallel_Genetic_Programming_Search.java} | 56 ++- .../ignite/examples/ml/util/DatasetHelper.java | 2 + .../ParametricVectorGeneratorExample.java | 1 + .../util/generators/StandardGenerato
[ignite] 01/01: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit b4e5941cd7843e7e067fa7872c3851ec6e3964b5 Merge: a6cd27d c1af01a Author: sboikov AuthorDate: Wed Jul 31 16:27:29 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 .../ml/TrainingWithBinaryObjectExample.java| 2 + .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 34 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 + .../TensorFlowDistributedInferenceExample.java | 2 + .../inference/TensorFlowLocalInferenceExample.java | 1 + .../TensorFlowThreadedInferenceExample.java| 1 + .../examples/ml/knn/ANNClassificationExample.java | 2 + .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 + .../ml/preprocessing/BinarizationExample.java | 2 + .../examples/ml/preprocessing/ImputingExample.java | 2 + .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 + .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 + .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 + .../GDBOnTreesRegressionTrainerExample.java| 2 + .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 5 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 24 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21 +- .../ml/tutorial/TutorialStepByStepExample.java | 12 + .../Step_10_RandomSearch.java} | 54 ++- .../Step_11_Parallel_BrutForce_Search.java}| 58 ++- .../Step_12_Parallel_Random_Search.java} | 63 +-- .../Step_13_Genetic_Programming_Search.java} | 50 ++- ...ep_14_Parallel_Genetic_Programming_Search.java} | 56 ++- .../ignite/examples/ml/util/DatasetHelper.java | 2 + .../ParametricVectorGeneratorExample.java | 1 + .../util/generators/StandardGeneratorsExample.java | 1 + .../generators/VectorGeneratorFamilyExample.java | 1 + .../VectorGeneratorPrimitivesExample.java | 1 + .../ml/xgboost/XGBoostModelParserExample.java | 2 + .../apache/ignite/cache/CacheKeyConfiguration.java | 26 ++ .../managers/discovery/ClusterMetricsImpl.java | 16 +- .../processors/cache/ClusterCachesInfo.java| 3 + .../cache/GridCachePartitionExchangeManager.java
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new a6cd27d ignite-11704 a6cd27d is described below commit a6cd27dbd0ec5a7e9d82d4904f6b30c2cb5d7b6e Author: sboikov AuthorDate: Wed Jul 31 10:58:06 2019 +0300 ignite-11704 --- .../CacheRemoveWithTombstonesLoadTest.java| 19 ++- .../ignite/testframework/MvccFeatureChecker.java | 3 +-- .../ignite/testsuites/IgniteCacheMvccTestSuite9.java | 4 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java index cb144b9..6b0aefd 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java @@ -33,6 +33,7 @@ import org.apache.ignite.spi.metric.LongMetric; import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.junit.Assume; import org.junit.Test; import java.util.ArrayList; @@ -80,7 +81,7 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { @Override protected void beforeTestsStarted() throws Exception { super.beforeTestsStarted(); - MvccFeatureChecker.skipIfNotSupported(MvccFeatureChecker.Feature.TOMBSTONES); +Assume.assumeFalse(MvccFeatureChecker.forcedMvcc()); } /** {@inheritDoc} */ @@ -138,8 +139,8 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { Map data = new HashMap<>(); -final int KEYS = 10_000; -final int ADD_NODES = 3; +final int KEYS = persistence ? 5_000 : 10_000; +final int ADD_NODES = persistence ? 2 : 3; for (int i = 0; i < KEYS; i++) { TestKey key = new TestKey(i, new byte[rnd.nextInt(pageSize * 3)]); @@ -164,7 +165,7 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { } }); -long endTime = System.currentTimeMillis() + 5000; +long endTime = System.currentTimeMillis() + 2500; while (System.currentTimeMillis() < endTime) { for (int i = 0; i < 100; i++) { @@ -180,6 +181,8 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { cache0.put(key, val); data.put(key, val); } + +Thread.sleep(10); } } @@ -209,7 +212,7 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { } }); -long endTime = System.currentTimeMillis() + 5000; +long endTime = System.currentTimeMillis() + 2500; while (System.currentTimeMillis() < endTime) { for (int i = 0; i < 100; i++) { @@ -226,6 +229,8 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { data.put(key, val); } } + +Thread.sleep(10); } fut.get(30_000); @@ -238,6 +243,10 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { } } +/** + * @param keys Keys to check. + * @param data Expected data. + */ private void checkData(List keys, Map data) { for (Ignite node : Ignition.allGrids()) { if (!node.name().endsWith("CacheRemoveWithTombstonesLoadTest1")) diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java b/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java index dce8c8d..1daeab4 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java @@ -47,8 +47,7 @@ public class MvccFeatureChecker { EVICTION, EXPIRATION, METRICS, -INTERCEPTOR, -TOMBSTONES +INTERCEPTOR } /** diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite9.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite9.java index 243fb4b..e5dff20 100644 --- a/modules/core/
[ignite] 01/01: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 546299e0c94a2cbc52073b3a531c1cf665237f4b Merge: 901661a abc808a Author: sboikov AuthorDate: Tue Jul 30 14:13:59 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 .../GridCacheDatabaseSharedManager.java| 3 + .../cache/persistence/pagemem/PageMemoryImpl.java | 21 +-- .../persistence/pagemem/PagesWriteThrottle.java| 26 ++-- .../pagemem/PagesWriteThrottlePolicy.java | 10 +++- .../cluster/GridClusterStateProcessor.java | 10 +--- ...rocessorCheckGlobalStateComputeRequestTest.java | 69 ++ .../pagemem/IgniteThrottlingUnitTest.java | 61 +++ .../ignite/testsuites/IgniteBasicTestSuite.java| 2 + .../apache/ignite/util/GridCommandHandlerTest.java | 2 + 9 files changed, 184 insertions(+), 20 deletions(-)
[ignite] branch ignite-11704 updated (901661a -> 546299e)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 901661a ignite-11704 add aa93762 IGNITE-6796 Use CheckGlobalStateComputeRequest in place of GridClusterStateProcessor$5. add abc808a IGNITE-12006 Fixed threads may be parked for indefinite time during throttling after spurious wakeups - Fixes #6712. new 546299e Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../GridCacheDatabaseSharedManager.java| 3 + .../cache/persistence/pagemem/PageMemoryImpl.java | 21 +-- .../persistence/pagemem/PagesWriteThrottle.java| 26 ++-- .../pagemem/PagesWriteThrottlePolicy.java | 10 +++- .../cluster/GridClusterStateProcessor.java | 10 +--- ...rocessorCheckGlobalStateComputeRequestTest.java | 69 ++ .../pagemem/IgniteThrottlingUnitTest.java | 61 +++ .../ignite/testsuites/IgniteBasicTestSuite.java| 2 + .../apache/ignite/util/GridCommandHandlerTest.java | 2 + 9 files changed, 184 insertions(+), 20 deletions(-) create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/ClusterProcessorCheckGlobalStateComputeRequestTest.java
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 901661a ignite-11704 901661a is described below commit 901661ad40815aaeaf25470c67e575fade0c9ade Author: sboikov AuthorDate: Tue Jul 30 10:57:47 2019 +0300 ignite-11704 --- .../internal/processors/cache/IgniteCacheOffheapManager.java | 11 ++- .../processors/cache/IgniteCacheOffheapManagerImpl.java | 10 +- .../processors/cache/persistence/GridCacheOffheapManager.java | 8 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index aca75b6..8b6b623 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -28,6 +28,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.topology.Grid import org.apache.ignite.internal.processors.cache.mvcc.MvccSnapshot; import org.apache.ignite.internal.processors.cache.mvcc.MvccVersion; import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow; +import org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter; import org.apache.ignite.internal.processors.cache.persistence.CacheSearchRow; import org.apache.ignite.internal.processors.cache.persistence.RootPage; import org.apache.ignite.internal.processors.cache.persistence.RowStore; @@ -215,7 +216,7 @@ public interface IgniteCacheOffheapManager { * @return Iterator over all versions. * @throws IgniteCheckedException If failed. */ -GridCursor mvccAllVersionsCursor(GridCacheContext cctx, KeyCacheObject key, Object x) +GridCursor mvccAllVersionsCursor(GridCacheContext cctx, KeyCacheObject key, CacheDataRowAdapter.RowData x) throws IgniteCheckedException; /** @@ -945,7 +946,7 @@ public interface IgniteCacheOffheapManager { * @return Iterator over all versions. * @throws IgniteCheckedException If failed. */ -GridCursor mvccAllVersionsCursor(GridCacheContext cctx, KeyCacheObject key, Object x) +GridCursor mvccAllVersionsCursor(GridCacheContext cctx, KeyCacheObject key, CacheDataRowAdapter.RowData x) throws IgniteCheckedException; /** @@ -980,7 +981,7 @@ public interface IgniteCacheOffheapManager { * @return Data cursor. * @throws IgniteCheckedException If failed. */ -public GridCursor cursor(Object x) throws IgniteCheckedException; +public GridCursor cursor(CacheDataRowAdapter.RowData x) throws IgniteCheckedException; /** * @param mvccSnapshot MVCC snapshot. @@ -1025,7 +1026,7 @@ public interface IgniteCacheOffheapManager { * @throws IgniteCheckedException If failed. */ public GridCursor cursor(int cacheId, KeyCacheObject lower, -KeyCacheObject upper, Object x) throws IgniteCheckedException; +KeyCacheObject upper, CacheDataRowAdapter.RowData x) throws IgniteCheckedException; /** * @param cacheId Cache ID. @@ -1040,7 +1041,7 @@ public interface IgniteCacheOffheapManager { public GridCursor cursor(int cacheId, KeyCacheObject lower, KeyCacheObject upper, -Object x, +CacheDataRowAdapter.RowData x, MvccSnapshot snapshot, boolean withTombstones) throws IgniteCheckedException; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 8aa5514..1f3a22d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -687,7 +687,7 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager /** {@inheritDoc} */ @Override public GridCursor mvccAllVersionsCursor(GridCacheContext cctx, -KeyCacheObject key, Object x) throws IgniteCheckedException { +KeyCacheObject key, CacheDataRowAdapter.RowData x) throws IgniteCheckedException { CacheDataStore dataStore = dataStore(cctx, key); return dataStore != null ? dataStore.mvccAllVersionsCursor(cctx, key, x) : EMPTY_CURSOR; @@ -2889,7 +2889,7 @@ public class IgniteCacheOffheapManagerImpl implements
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 7d3fcdc ignite-11704 7d3fcdc is described below commit 7d3fcdc3b6b3235f69c39074afa3189776865402 Author: sboikov AuthorDate: Tue Jul 30 10:54:01 2019 +0300 ignite-11704 --- .../ignite/internal/processors/query/h2/database/H2PkHashIndex.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java index d3bff29..db85a7b 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java @@ -209,7 +209,7 @@ public class H2PkHashIndex extends GridH2IndexBase { int part = store.partId(); if (partsFilter == null || partsFilter.applyPartition(part)) -cursors.add(store.cursor(cctx.cacheId())); +cursors.add(store.cursor(cctx.cacheId(), false)); } Cursor pkHashCursor = new H2PkHashIndexCursor(cursors.iterator());
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new ea425b4 ignite-11704 ea425b4 is described below commit ea425b4306702abf27dd84e1370a4bc273df874a Author: sboikov AuthorDate: Tue Jul 30 09:43:39 2019 +0300 ignite-11704 --- .../internal/processors/cache/GridCacheAbstractFullApiSelfTest.java | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java index 7a823d4..ef7463e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java @@ -6728,7 +6728,10 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract GridCacheContext ctx = ((IgniteKernal)ignite).internalCache(DEFAULT_CACHE_NAME).context(); -GridCacheEntryEx entry = ctx.isNear() ? ctx.near().dht().peekEx(key) : ctx.cache().peekEx(key); +if (ctx.isNear()) +ctx = ctx.near().dht().context(); + +GridCacheEntryEx entry = ctx.cache().peekEx(key); if (ctx.deferredDelete() && ignite.affinity(DEFAULT_CACHE_NAME).mapKeyToPrimaryAndBackups(key).contains(((IgniteKernal)ignite).localNode())) { assertNotNull(entry);
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 8035686 ignite-11704 8035686 is described below commit 8035686072bbe34af3c60e71d3c454def9cab0c5 Author: sboikov AuthorDate: Tue Jul 30 08:06:15 2019 +0300 ignite-11704 --- .../processors/cache/distributed/CacheRemoveWithTombstonesTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java index b098905..daab924 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java @@ -49,7 +49,6 @@ import java.util.concurrent.Callable; import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; -import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; import static org.apache.ignite.cache.CacheMode.PARTITIONED; import static org.apache.ignite.cache.CacheRebalanceMode.ASYNC; import static org.apache.ignite.internal.processors.metric.impl.MetricUtils.cacheMetricsRegistryName;
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 5010c38 ignite-11704 5010c38 is described below commit 5010c38efd35d6a900159a85b82360f99f24edb8 Author: sboikov AuthorDate: Tue Jul 30 08:05:09 2019 +0300 ignite-11704 --- .../internal/processors/cache/IgniteCacheOffheapManager.java | 10 +++--- .../cache/persistence/GridCacheDatabaseSharedManager.java | 2 -- .../cache/distributed/CacheRemoveWithTombstonesTest.java | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index e068059..aca75b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -398,7 +398,7 @@ public interface IgniteCacheOffheapManager { /** * @param cctx Cache context. * @param key Key. - * @param partId Partition number. + * @param ver Version. * @param part Partition. * @throws IgniteCheckedException If failed. */ @@ -919,10 +919,14 @@ public interface IgniteCacheOffheapManager { * @param cctx Cache context. * @param key Key. * @param ver Version. - * @param partId Partition number. + * @param part Partition. * @throws IgniteCheckedException If failed. */ -public void removeWithTombstone(GridCacheContext cctx, KeyCacheObject key, GridCacheVersion ver, GridDhtLocalPartition part) throws IgniteCheckedException; +public void removeWithTombstone( +GridCacheContext cctx, +KeyCacheObject key, +GridCacheVersion ver, +GridDhtLocalPartition part) throws IgniteCheckedException; /** * @param cctx Cache context. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index 3fd36a0..b1a21de 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java @@ -121,8 +121,6 @@ import org.apache.ignite.internal.pagemem.wal.record.delta.PartitionMetaStateRec import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.CacheGroupContext; import org.apache.ignite.internal.processors.cache.CacheGroupDescriptor; -import org.apache.ignite.internal.processors.cache.CacheObject; -import org.apache.ignite.internal.processors.cache.CacheObjectImpl; import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor; import org.apache.ignite.internal.processors.cache.ExchangeActions; import org.apache.ignite.internal.processors.cache.GridCacheContext; diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java index cb4ad69..b098905 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java @@ -238,6 +238,7 @@ public class CacheRemoveWithTombstonesTest extends GridCommonAbstractTest { assertEquals(0, tombstoneMetric1.get()); } + /** * */
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 10d24bd ignite-11704 10d24bd is described below commit 10d24bdc128ee7472e4d5a320086643ccb88b3f5 Author: sboikov AuthorDate: Tue Jul 30 07:29:26 2019 +0300 ignite-11704 --- .../CacheRemoveWithTombstonesLoadTest.java | 8 .../distributed/CacheRemoveWithTombstonesTest.java | 22 -- .../ignite/testframework/MvccFeatureChecker.java | 3 ++- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java index 2780132..cb144b9 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java @@ -31,6 +31,7 @@ import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.util.lang.GridAbsPredicate; import org.apache.ignite.spi.metric.LongMetric; import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.junit.Test; @@ -76,6 +77,13 @@ public class CacheRemoveWithTombstonesLoadTest extends GridCommonAbstractTest { } /** {@inheritDoc} */ +@Override protected void beforeTestsStarted() throws Exception { +super.beforeTestsStarted(); + + MvccFeatureChecker.skipIfNotSupported(MvccFeatureChecker.Feature.TOMBSTONES); +} + +/** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java index dcd7f6c..cb4ad69 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java @@ -37,6 +37,7 @@ import org.apache.ignite.lang.IgniteBiPredicate; import org.apache.ignite.plugin.extensions.communication.Message; import org.apache.ignite.spi.metric.LongMetric; import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.junit.Test; @@ -108,14 +109,6 @@ public class CacheRemoveWithTombstonesTest extends GridCommonAbstractTest { * @throws Exception If failed. */ @Test -public void testRemoveAndRebalanceRaceTxMvcc() throws Exception { -testRemoveAndRebalanceRace(TRANSACTIONAL_SNAPSHOT, false); -} - -/** - * @throws Exception If failed. - */ -@Test public void testRemoveAndRebalanceRaceAtomic() throws Exception { testRemoveAndRebalanceRace(ATOMIC, false); } @@ -134,16 +127,6 @@ public class CacheRemoveWithTombstonesTest extends GridCommonAbstractTest { * @throws Exception If failed. */ @Test -public void testRemoveAndRebalanceRaceTxMvccWithPersistence() throws Exception { -persistence = true; - -testRemoveAndRebalanceRaceTxMvcc(); -} - -/** - * @throws Exception If failed. - */ -@Test public void testRemoveAndRebalanceRaceAtomicWithPersistence() throws Exception { persistence = true; @@ -162,6 +145,9 @@ public class CacheRemoveWithTombstonesTest extends GridCommonAbstractTest { IgniteCache cache0 = ignite0.createCache(cacheConfiguration(atomicityMode)); +if (MvccFeatureChecker.forcedMvcc()) +expTombstone = false; + LongMetric tombstoneMetric0 = ignite0.context().metric().registry( cacheMetricsRegistryName(DEFAULT_CACHE_NAME, false)).findMetric("Tombstones"); diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java b/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java index 1daeab4..dce8c8d 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/MvccFeatureChecker.java @@ -47,7 +47,8 @@ public class MvccFeatureChecker { EVICTION,
[ignite] branch ignite-11704 updated (8294495 -> 8299a2c)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 8294495 ignite-11704 add 5b4d29c IGNITE-11979 Add ability to set default parallelism of rebuild indexes in ignite system properties. This closes #6687. add ef55e4d Revert "[ML] Hyper-parameter tuning via Genetic Algorithm (#6713)" add dd6abfa IGNITE-12004 Check nanos precision in all tests, test UPDATE with millis precision, ignore UPDATE test with nanos precision - Fixes #6719. new 3435978 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 new 8299a2c ignite-11704 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../ml/TrainingWithBinaryObjectExample.java| 2 - .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 35 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 - .../TensorFlowDistributedInferenceExample.java | 2 - .../inference/TensorFlowLocalInferenceExample.java | 1 - .../TensorFlowThreadedInferenceExample.java| 1 - .../examples/ml/knn/ANNClassificationExample.java | 2 - .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 - .../ml/preprocessing/BinarizationExample.java | 2 - .../examples/ml/preprocessing/ImputingExample.java | 2 - .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 - .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 - .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 - .../GDBOnTreesRegressionTrainerExample.java| 2 - .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 6 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 26 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21 +- .../ml/tutorial/TutorialStepByStepExample.java | 12 - .../hyperparametertuning/Step_10_RandomSearch.java | 198 - .../Step_11_Parallel_BrutForce_Search.java | 202 - .../Step_12_Parallel_Random_Search.java| 206 - .../Step_13_Genetic_Programming_Search.java| 194 - ...tep_14_Parallel_G
[ignite] 01/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 3435978d4b336dd6800b10845f7ea9b3632ab9f4 Merge: 8294495 dd6abfa Author: sboikov AuthorDate: Sun Jul 28 15:40:16 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 .../ml/TrainingWithBinaryObjectExample.java| 2 - .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 35 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 - .../TensorFlowDistributedInferenceExample.java | 2 - .../inference/TensorFlowLocalInferenceExample.java | 1 - .../TensorFlowThreadedInferenceExample.java| 1 - .../examples/ml/knn/ANNClassificationExample.java | 2 - .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 - .../ml/preprocessing/BinarizationExample.java | 2 - .../examples/ml/preprocessing/ImputingExample.java | 2 - .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 - .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 - .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 - .../GDBOnTreesRegressionTrainerExample.java| 2 - .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 6 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 26 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21 +- .../ml/tutorial/TutorialStepByStepExample.java | 12 - .../hyperparametertuning/Step_10_RandomSearch.java | 198 - .../Step_11_Parallel_BrutForce_Search.java | 202 - .../Step_12_Parallel_Random_Search.java| 206 - .../Step_13_Genetic_Programming_Search.java| 194 - ...tep_14_Parallel_Genetic_Programming_Search.java | 200 - .../ignite/examples/ml/util/DatasetHelper.java | 2 - .../ParametricVectorGeneratorExample.java | 1 - .../util/generators/StandardGeneratorsExample.java | 1 - .../generators/VectorGeneratorFamilyExample.java | 1 - .../VectorGeneratorPrimitivesExample.java | 1 - .../ml/xgboost/XGBoostModelParserExample.java | 2 - .../org/apache/ignite/IgniteSystemProperties.java | 9 + .../query/schema/SchemaIndexCacheVisitorImpl.java | 20 +- .../CacheQueryEntityWithDateTimeApiFieldsTest.java | 56 ++- .../parallelism
[ignite] 02/02: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 8299a2cce28247a1ccb344e314884ea92f1e1b3c Author: sboikov AuthorDate: Sun Jul 28 18:10:02 2019 +0300 ignite-11704 --- .../processors/cache/CacheGroupContext.java| 7 ++ .../processors/cache/CacheMetricsImpl.java | 6 + .../processors/cache/GridCacheContext.java | 6 + .../processors/cache/GridCacheMapEntry.java| 5 .../cache/IgniteCacheOffheapManager.java | 9 +++ .../cache/IgniteCacheOffheapManagerImpl.java | 29 ++ .../processors/cache/IncompleteCacheObject.java| 3 +++ .../dht/topology/GridDhtLocalPartition.java| 14 +++ .../dht/topology/PartitionsEvictManager.java | 18 ++ .../cache/persistence/CacheDataRowAdapter.java | 4 +-- .../cache/CacheDeferredDeleteSanitySelfTest.java | 6 ++--- .../visor/verify/ValidateIndexesClosure.java | 2 +- .../IgniteCacheLockPartitionOnAffinityRunTest.java | 4 +-- .../query/h2/GridIndexRebuildSelfTest.java | 2 +- .../GridIndexRebuildWithMvccEnabledSelfTest.java | 2 +- .../util/GridCommandHandlerIndexingTest.java | 2 +- 16 files changed, 97 insertions(+), 22 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index cbdb3e8..3a7a445 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -1292,10 +1292,17 @@ public class CacheGroupContext { return hasAtomicCaches; } +/** + * @return {@code True} if need create temporary tombstones entries for removed data. + */ public boolean supportsTombstone() { return !sharedGroup() && !hasAtomicCaches && !mvccEnabled && !isLocal(); } +/** + * @param part Partition. + * @return {@code True} if need create tombstone for remove in given partition. + */ public boolean createTombstone(@Nullable GridDhtLocalPartition part) { return part != null && supportsTombstone() && part.state() == GridDhtPartitionState.MOVING; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java index e002037..4e993ef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java @@ -1013,10 +1013,16 @@ public class CacheMetricsImpl implements CacheMetrics { delegate.addPutAndGetTimeNanos(duration); } +/** + * Increments tombstones counter. + */ public void tombstoneCreated() { tombstones.increment(); } +/** + * Decrements tombstones counter. + */ public void tombstoneRemoved() { tombstones.decrement(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 5ac56db..959095c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -2372,6 +2372,9 @@ public class GridCacheContext implements Externalizable { } } +/** + * Increments tombstones counter. + */ public void tombstoneCreated() { GridCacheAdapter cache = this.cache; @@ -2379,6 +2382,9 @@ public class GridCacheContext implements Externalizable { cache.metrics0().tombstoneCreated(); } +/** + * Decrements tombstones counter. + */ public void tombstoneRemoved() { GridCacheAdapter cache = this.cache; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 08986a9..1133085 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -5711,6 +5711,11 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } +/** + * @param row Data row. + * @return {@code True} if row expired. + *
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 8294495 ignite-11704 8294495 is described below commit 829449525fffdc4e0bac14c6b1905abe164f96d0 Author: sboikov AuthorDate: Fri Jul 26 11:13:19 2019 +0300 ignite-11704 --- .../dht/topology/GridDhtLocalPartition.java| 6 +- .../dht/topology/PartitionsEvictManager.java | 344 + .../IgniteCacheDatabaseSharedManager.java | 22 +- .../distributed/CacheRemoveWithTombstonesTest.java | 12 +- 4 files changed, 300 insertions(+), 84 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java index d24cfee..9097463 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java @@ -1138,13 +1138,13 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements */ private void submitClearTombstones() { if (tombstoneCreated) - grp.shared().kernalContext().closure().runLocalSafe(this::clearTombstones, true); +grp.shared().evict().clearTombstonesAsync(grp, this); } /** * */ -private void clearTombstones() { +public void clearTombstones(EvictionContext evictionCtx) { final int stopCheckingFreq = 1000; CacheMapHolder hld = grp.sharedGroup() ? null : singleCacheEntryMap; @@ -1202,7 +1202,7 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements cntr++; if (cntr % stopCheckingFreq == 0) { -if (ctx.kernalContext().isStopping() || state() != OWNING) +if (evictionCtx.shouldStop() || state() != OWNING) break; } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java index 826902c..b2fd276 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.Comparator; import java.util.HashSet; import java.util.Map; +import java.util.Objects; import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -104,6 +105,14 @@ public class PartitionsEvictManager extends GridCacheSharedManagerAdapter { } } +public void clearTombstonesAsync(CacheGroupContext grp, GridDhtLocalPartition part) { +if (addAsyncTask(grp, part, TaskType.CLEAR_TOMBSTONES)) { +if (log.isDebugEnabled()) +log.debug("Partition has been scheduled for tomstones cleanup [grp=" + grp.cacheOrGroupName() ++ ", p=" + part.id() + ", state=" + part.state() + "]"); +} +} + /** * Adds partition to eviction queue and starts eviction process if permit available. * @@ -111,29 +120,56 @@ public class PartitionsEvictManager extends GridCacheSharedManagerAdapter { * @param part Partition to evict. */ public void evictPartitionAsync(CacheGroupContext grp, GridDhtLocalPartition part) { +if (addAsyncTask(grp, part, TaskType.EVICT)) { +if (log.isDebugEnabled()) +log.debug("Partition has been scheduled for eviction [grp=" + grp.cacheOrGroupName() ++ ", p=" + part.id() + ", state=" + part.state() + "]"); +} +} + +/** + * @param grp Group context. + * @param part Partition. + * @param type Task type. + * @return {@code True} if task was added. + */ +private boolean addAsyncTask(CacheGroupContext grp, GridDhtLocalPartition part, TaskType type) { GroupEvictionContext grpEvictionCtx = evictionGroupsMap.computeIfAbsent( grp.groupId(), (k) -> new GroupEvictionContext(grp)); // Check node stop. if (grpEvictionCtx.shouldStop()) -return; +return false; int bucket; +AbstractEvictionTask ta
[ignite] 02/02: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 08b59ddcfb0739e9233ff46b0f438cc099604cc3 Author: sboikov AuthorDate: Fri Jul 26 10:29:12 2019 +0300 ignite-11704 --- .../processors/cache/IncompleteCacheObject.java| 4 + .../processors/cache/IncompleteObject.java | 2 +- .../IgniteCacheDatabaseSharedManager.java | 112 ++--- 3 files changed, 105 insertions(+), 13 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteCacheObject.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteCacheObject.java index dedb3bd..5f75125 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteCacheObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteCacheObject.java @@ -75,6 +75,10 @@ public class IncompleteCacheObject extends IncompleteObject { super.readData(buf); } +public int dataOffset() { +return off; +} + /** * @return Data type. */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java index 7c24c12..27c9def 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IncompleteObject.java @@ -33,7 +33,7 @@ public class IncompleteObject { private T obj; /** */ -private int off; +protected int off; /** * @param data Data bytes. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java index feb2e78..567c104 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java @@ -139,7 +139,10 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap private volatile boolean firstEvictWarn; /** */ -private CacheObject TOMBSTONE_VAL; +private byte[] tombstoneBytes; + +/** */ +private CacheObject tombstoneVal; /** {@inheritDoc} */ @Override protected void start0() throws IgniteCheckedException { @@ -156,11 +159,13 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap initDataRegions(memCfg); -TOMBSTONE_VAL = new CacheObjectImpl(null, cctx.marshaller().marshal(null)); +tombstoneBytes = cctx.marshaller().marshal(null); + +tombstoneVal = new CacheObjectImpl(null, tombstoneBytes); } public CacheObject tombstoneValue() { -return TOMBSTONE_VAL; +return tombstoneVal; } public boolean isTombstone(CacheDataRow row) throws IgniteCheckedException { @@ -172,22 +177,107 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap assert val != null : row; if (val.cacheObjectType() == CacheObject.TYPE_REGULAR) { -byte[] nullBytes = TOMBSTONE_VAL.valueBytes(null); byte[] bytes = val.valueBytes(null); -if (Arrays.equals(nullBytes, bytes)) +if (Arrays.equals(tombstoneBytes, bytes)) return true; } return false; } +/** + * @param buf Buffer. + * @param key Row key. + * @param incomplete Incomplete object. + * @return Tombstone flag or {@code null} if there is no enough data. + * @throws IgniteCheckedException If failed. + */ public Boolean isTombstone(ByteBuffer buf, @Nullable KeyCacheObject key, -@Nullable IncompleteCacheObject incomplete) { -// TODO IGNITE-11704 +@Nullable IncompleteCacheObject incomplete) throws IgniteCheckedException { +if (key == null) { +if (incomplete == null) { // Did not start read key yet. +if (buf.remaining() < IncompleteCacheObject.HEAD_LEN) { +return null; +} + +int keySize = buf.getInt(buf.position()); + +int headOffset = (IncompleteCacheObject.HEAD_LEN + keySize) /* key */ + +8 /* expire time */; + +int requiredSize = headOffset + IncompleteCacheObject.HEAD_LEN; // Value header. + +if (buf.remaining() < requiredSize) +return null; + +
[ignite] branch ignite-11704 updated (db16252 -> 08b59dd)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from db16252 ignite-11704 add ac3714e IGNITE-11995 control.sh if experimental command disabled - don't show help for experemental commands - Fixes #6704. add 7847168 IGNITE-11990 Optimize heap usage for TcpDiscoveryNodeAddedMessage stored in pending messages in ServerImpl - Fixes #6700. add a736544 IGNITE-11993 Print warning if awaiting next wal segment it too long - Fixes #6703. add 76b4a11 IGNITE-10761 GridCacheProcessor should add info about cache in excecption message, if applicable. - Fixes #6697. add 63fbcbf [ML] Hyper-parameter tuning via Genetic Algorithm (#6713) add 555771c IGNITE-11997: Removed useless IgniteCacheQueriesLoadTest1 test. This closes #6706. new 1779d38 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 new 08b59dd ignite-11704 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/control.bat| 5 + .../ml/TrainingWithBinaryObjectExample.java| 2 + .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 35 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 + .../TensorFlowDistributedInferenceExample.java | 2 + .../inference/TensorFlowLocalInferenceExample.java | 1 + .../TensorFlowThreadedInferenceExample.java| 1 + .../examples/ml/knn/ANNClassificationExample.java | 2 + .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 + .../ml/preprocessing/BinarizationExample.java | 2 + .../examples/ml/preprocessing/ImputingExample.java | 2 + .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 + .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 + .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 + .../GDBOnTreesRegressionTrainerExample.java| 2 + .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 6 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 26 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21
[ignite] 01/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 1779d38bab0f105c756759d63206b2a2a35061f4 Merge: db16252 555771c Author: sboikov AuthorDate: Fri Jul 26 09:07:16 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 bin/control.bat| 5 + .../ml/TrainingWithBinaryObjectExample.java| 2 + .../clustering/CustomersClusterizationExample.java | 6 +- .../ml/clustering/GmmClusterizationExample.java| 5 +- .../ml/clustering/KMeansClusterizationExample.java | 6 +- .../dataset/AlgorithmSpecificDatasetExample.java | 35 +- .../ml/dataset/CacheBasedDatasetExample.java | 3 +- .../IgniteModelDistributedInferenceExample.java| 11 +- .../examples/ml/inference/ModelStorageExample.java | 2 + .../TensorFlowDistributedInferenceExample.java | 2 + .../inference/TensorFlowLocalInferenceExample.java | 1 + .../TensorFlowThreadedInferenceExample.java| 1 + .../examples/ml/knn/ANNClassificationExample.java | 2 + .../examples/ml/knn/IrisClassificationExample.java | 6 +- .../examples/ml/knn/KNNClassificationExample.java | 13 +- .../examples/ml/knn/KNNRegressionExample.java | 6 +- .../multiclass/OneVsRestClassificationExample.java | 9 +- .../DiscreteNaiveBayesTrainerExample.java | 10 +- .../GaussianNaiveBayesTrainerExample.java | 6 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 2 + .../ml/preprocessing/BinarizationExample.java | 2 + .../examples/ml/preprocessing/ImputingExample.java | 2 + .../ml/preprocessing/MaxAbsScalerExample.java | 4 +- .../ml/preprocessing/MinMaxScalerExample.java | 4 +- .../ml/preprocessing/NormalizationExample.java | 2 + .../ml/preprocessing/StandardScalerExample.java| 4 +- .../linear/BostonHousePricesPredictionExample.java | 9 +- .../linear/LinearRegressionLSQRTrainerExample.java | 14 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 9 +- .../linear/LinearRegressionSGDTrainerExample.java | 6 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 26 +- .../LogisticRegressionSGDTrainerExample.java | 9 +- .../ml/selection/cv/CrossValidationExample.java| 31 +- .../ml/selection/scoring/EvaluatorExample.java | 6 +- .../selection/scoring/MultipleMetricsExample.java | 6 +- .../selection/scoring/RegressionMetricExample.java | 6 +- .../split/TrainTestDatasetSplitterExample.java | 9 +- ...eeClassificationTrainerSQLInferenceExample.java | 5 +- ...onTreeClassificationTrainerSQLTableExample.java | 5 +- .../ml/svm/SVMBinaryClassificationExample.java | 6 +- .../DecisionTreeClassificationTrainerExample.java | 5 +- .../tree/DecisionTreeRegressionTrainerExample.java | 2 + .../examples/ml/tree/FraudDetectionExample.java| 9 +- .../GDBOnTreesClassificationTrainerExample.java| 2 + .../GDBOnTreesRegressionTrainerExample.java| 2 + .../RandomForestClassificationExample.java | 18 +- .../RandomForestRegressionExample.java | 15 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 5 +- .../examples/ml/tutorial/Step_2_Imputing.java | 5 +- .../examples/ml/tutorial/Step_3_Categorial.java| 7 +- .../Step_3_Categorial_with_One_Hot_Encoder.java| 7 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java | 7 +- .../examples/ml/tutorial/Step_5_Scaling.java | 7 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 5 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java| 5 +- .../ml/tutorial/Step_7_Split_train_test.java | 6 +- .../ignite/examples/ml/tutorial/Step_8_CV.java | 26 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java | 30 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 31 +- ...V_with_Param_Grid_and_metrics_and_pipeline.java | 30 +- .../ml/tutorial/Step_9_Scaling_With_Stacking.java | 21 +- .../ml/tutorial/TutorialStepByStepExample.java | 12 + .../Step_10_RandomSearch.java} | 56 +- .../Step_11_Parallel_BrutForce_Search.java}| 60 ++- .../Step_12_Parallel_Random_Search.java} | 64 ++- .../Step_13_Genetic_Programming_Search.java} | 52 +- ...ep_14_Parallel_Genetic_Programming_Search.java} | 58 +- .../ignite/examples/ml/util/DatasetHelper.java | 2 + .../ParametricVectorGeneratorExample.java | 1 + .../util/generators/StandardGeneratorsExample.java | 1 + .../generators/VectorGeneratorFamilyExample.java | 1 + .../VectorGeneratorPrimitivesExample.java | 1 + .../ml/xgboost/XGBoostModelParserExample.java | 2 + .../org/apache/ignite/IgniteSystemProperties.java | 7 + .../ignite/internal/commandline/WalCommands.java | 48 +- .../processors/cache/GridCacheProcessor.java | 63
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new db16252 ignite-11704 db16252 is described below commit db1625276b61cba1b87d287a133b979031728c11 Author: sboikov AuthorDate: Wed Jul 24 09:58:40 2019 +0300 ignite-11704 --- .../cache/persistence/CacheDataRowAdapter.java | 58 ++ .../IgniteCacheDatabaseSharedManager.java | 11 +++- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java index 5216e21..c0a421e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java @@ -262,33 +262,8 @@ public class CacheDataRowAdapter implements CacheDataRow { incomplete = readIncomplete(incomplete, sharedCtx, coctx, pageMem, grpId, pageAddr, itemId, io, rowData, readCacheId, skipVer); -if (incomplete == null) { -if (rowData == TOMBSTONES && val != null && !sharedCtx.database().isTombstone(this)) { -// TODO IGNITE-11704. -ver = null; -key = null; -val = null; -verReady = true; -} - +if (incomplete == null || (rowData == KEY_ONLY && key != null)) return; -} - -if (rowData == KEY_ONLY) { -if (key != null) -return; -} -else if (rowData == TOMBSTONES) { -// TODO IGNITE-11704. -if (val != null && !sharedCtx.database().isTombstone(this)) { -ver = null; -key = null; -val = null; -verReady = true; - -return; -} -} nextLink = incomplete.getNextLink(); } @@ -377,9 +352,7 @@ public class CacheDataRowAdapter implements CacheDataRow { buf.position(off); buf.limit(off + payloadSize); -boolean keyOnly = rowData == RowData.KEY_ONLY; - -incomplete = readFragment(sharedCtx, coctx, buf, keyOnly, readCacheId, incomplete, skipVer); +incomplete = readFragment(sharedCtx, coctx, buf, rowData, readCacheId, incomplete, skipVer); if (incomplete != null) incomplete.setNextLink(nextLink); @@ -416,11 +389,13 @@ public class CacheDataRowAdapter implements CacheDataRow { GridCacheSharedContext sharedCtx, CacheObjectContext coctx, ByteBuffer buf, -boolean keyOnly, +RowData rowData, boolean readCacheId, IncompleteObject incomplete, boolean skipVer ) throws IgniteCheckedException { +boolean tombstones = rowData == TOMBSTONES; + if (readCacheId && cacheId == 0) { incomplete = readIncompleteCacheId(buf, incomplete); @@ -442,6 +417,12 @@ public class CacheDataRowAdapter implements CacheDataRow { // Read key. if (key == null) { +if (tombstones && sharedCtx.database().isTombstone(buf, key, (IncompleteCacheObject)incomplete) == Boolean.FALSE) { +verReady = true; + +return null; +} + incomplete = readIncompleteKey(coctx, buf, (IncompleteCacheObject)incomplete); if (key == null) { @@ -449,7 +430,7 @@ public class CacheDataRowAdapter implements CacheDataRow { return incomplete; // Need to finish reading the key. } -if (keyOnly) +if (rowData == RowData.KEY_ONLY) return null; // Key is ready - we are done! incomplete = null; @@ -468,6 +449,13 @@ public class CacheDataRowAdapter implements CacheDataRow { // Read value. if (val == null) { +if (tombstones && sharedCtx.database().isTombstone(buf, key, (IncompleteCacheObject)incomplete) == Boolean.FALSE) { +key = null; +verReady = true; + +return null; +
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new 0a574a6 ignite-11704 0a574a6 is described below commit 0a574a68385cf250b928972654b0486e2efe67a4 Author: sboikov AuthorDate: Tue Jul 23 10:42:28 2019 +0300 ignite-11704 --- .../cache/persistence/CacheDataRowAdapter.java | 13 +- .../CacheRemoveWithTombstonesLoadTest.java | 347 + .../ignite/testsuites/IgniteCacheTestSuite9.java | 2 + 3 files changed, 360 insertions(+), 2 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java index 1be2bb5..5216e21 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/CacheDataRowAdapter.java @@ -260,10 +260,19 @@ public class CacheDataRowAdapter implements CacheDataRow { int itemId = itemId(nextLink); incomplete = readIncomplete(incomplete, sharedCtx, coctx, pageMem, -grpId, pageAddr, itemId, io, rowData, readCacheId, skipVer); +grpId, pageAddr, itemId, io, rowData, readCacheId, skipVer); + +if (incomplete == null) { +if (rowData == TOMBSTONES && val != null && !sharedCtx.database().isTombstone(this)) { +// TODO IGNITE-11704. +ver = null; +key = null; +val = null; +verReady = true; +} -if (incomplete == null) return; +} if (rowData == KEY_ONLY) { if (key != null) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java new file mode 100644 index 000..2780132 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesLoadTest.java @@ -0,0 +1,347 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.distributed; + +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.Ignition; +import org.apache.ignite.cache.CacheWriteSynchronizationMode; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.DataRegionConfiguration; +import org.apache.ignite.configuration.DataStorageConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.configuration.WALMode; +import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.util.lang.GridAbsPredicate; +import org.apache.ignite.spi.metric.LongMetric; +import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.Callable; +import java.util.concurrent.ThreadLocalRandom; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheMode.PARTITIONED; +import static org.apache.ignite.cache.Cach
[ignite] branch ignite-11704 updated (e6a793b -> 86bc43e)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from e6a793b ignite-11704 new 2a0a0e0 ignite-11704 new 8c9bd4f Merge remote-tracking branch 'origin/ignite-11704' into ignite-11704 add 78d0462 IGNITE-10663 Read Repair (#5656) add 4fe0371 IGNITE-11907 Fail Continuous Query registration and do not fail node if remote filter class is missing - Fixes #6645. add e568524 IGNITE-7384 Ignore IgniteClusterActivateDeactivateTestWithPersistence.testDeactivateDuringEvictionAndRebalance in MVCC mode add 65e7311 IGNITE-11859 Fixed CommandHandlerParsingTest#testExperimentalCommandIsDisabled() don't works - Fixes #6668. add b99 IGNITE-11967 Fixed control.sh validate_indexes SQL Index issue must contain information about cache group - Fixes #6673. add 8a637c6 IGNITE-11958 JDBC connection validation should use it's own task instead of cache validation task - Fixes #6664 add 591dbf6 IGNITE-11907 Fix possible incompatibility with previous versions add d595bcd IGNITE-11951 Set ThreadLocal node name only once in JdkMarshaller - Fixes #6657. add f01a47a IGNITE-11946 Remove option "--add-modules=java.transaction" from Ignite launch scripts for Java 9 and 10 - Fixes #6650. add 225d872 IGNITE-9842 Ignore IgniteErrorOnRebalanceTest.testErrorOnRebalance add b861813 IGNITE-11685 Java thin client: Handle multiple async requests in parallel - Fixes #6595. add 43e3fee IGNITE-1472: Enum support for C++ add 6d8b9bb IGNITE-11925: QueryMetrics migration. (#6627) add 9c32314 IGNITE-11982 Fix bugs of pds add c952133 IGNITE-11907 Exclude test resource Wrapper.ser from license check add 1a2c35c IGNITE-11784 Replace TcpDiscoveryNode to nodeId in TcpDiscoveryMessages - Fixes #6685. add 1d0ced3 IGNITE-11966 Fixed using AdaptiveLoadBalancingSpi without IgniteConfiguration.setIncludeEventTypes(EventType.EVT_TASK_FINISHED, EventType.EVT_TASK_FAILED) leads to memory leak - Fixed #6690. add f7cfedd IGNITE-12000 Await evictions before stopping nodes in IgniteSqlQueryMinMaxTest to make test stable - Fixes #6708. add c8c6c0b IGNITE-12001 Remove unreasonable assertions from SchemaExchangeSelfTest - Fixes #6709. add 5b2948b IGNITE-11998 mute tests add 54da838 IGNITE-11921: CacheGroupMetrics migration to the GridMetricManager. (#6647) add 8e5210b IGNITE-11989: remove cache preload predicate (#6699) add 99fbecd IGNITE-11988 control.sh validate_indexes SQL Index issue add information about group and cache id - Fixes #6698. new a5ef55f ignite-11704 new 86bc43e ignite-11704 The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/control.bat| 1 - bin/control.sh | 1 - bin/ignite-tf.sh | 1 - bin/ignite.bat | 1 - bin/ignite.sh | 1 - bin/ignitevisorcmd.bat | 1 - bin/ignitevisorcmd.sh | 1 - .../benchmarks/jmh/tree/BPlusTreeBenchmark.java| 4 +- .../benchmarks/jol/GridMetricsJolBenchmark.java| 12 +- .../thin/JdbcThinDataPageScanPropertySelfTest.java | 9 +- .../compatibility/PdsWithTtlCompatibilityTest.java | 197 -- .../IgniteCompatibilityBasicTestSuite.java | 3 - modules/compress/pom.xml | 15 + .../DiskPageCompressionConfigValidationTest.java | 161 .../DiskPageCompressionIntegrationTest.java| 19 +- .../testsuites/IgnitePdsCompressionTestSuite.java | 2 + modules/compress/src/test/resources/encryption.jks | Bin 0 -> 6737 bytes .../main/java/org/apache/ignite/IgniteCache.java | 35 ++ .../apache/ignite/IgniteJdbcThinDataSource.java| 17 - .../apache/ignite/cache/query/QueryMetrics.java| 6 +- .../org/apache/ignite/cache/query/ScanQuery.java | 31 -- .../apache/ignite/cache/query/SqlFieldsQuery.java | 32 -- .../org/apache/ignite/cache/query/SqlQuery.java| 31 -- .../ignite/client/ClientConnectionException.java | 18 +- .../events/CacheConsistencyViolationEvent.java | 69 .../java/org/apache/ignite/events/EventType.java | 15 + .../org/apache/ignite/internal/IgniteFeatures.java | 5 +- .../org/apache/ignite/internal/IgniteKernal.java | 26 +- .../org/apache/ignite/internal/IgnitionEx.java | 65 ++-- .../ignite/internal/client/thin/ClientChannel.java | 17 +- .../client/thin/ClientFieldsQueryPager.java| 7 +- .../internal/
[ignite] 03/04: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit a5ef55f51fb987da7dac75e5fe1d56437e541826 Merge: 8c9bd4f 99fbecd Author: sboikov AuthorDate: Tue Jul 23 06:49:33 2019 +0300 ignite-11704 bin/control.bat| 1 - bin/control.sh | 1 - bin/ignite-tf.sh | 1 - bin/ignite.bat | 1 - bin/ignite.sh | 1 - bin/ignitevisorcmd.bat | 1 - bin/ignitevisorcmd.sh | 1 - .../benchmarks/jmh/tree/BPlusTreeBenchmark.java| 4 +- .../benchmarks/jol/GridMetricsJolBenchmark.java| 12 +- .../thin/JdbcThinDataPageScanPropertySelfTest.java | 9 +- .../compatibility/PdsWithTtlCompatibilityTest.java | 197 -- .../IgniteCompatibilityBasicTestSuite.java | 3 - modules/compress/pom.xml | 15 + .../DiskPageCompressionConfigValidationTest.java | 161 .../DiskPageCompressionIntegrationTest.java| 19 +- .../testsuites/IgnitePdsCompressionTestSuite.java | 2 + modules/compress/src/test/resources/encryption.jks | Bin 0 -> 6737 bytes .../main/java/org/apache/ignite/IgniteCache.java | 35 ++ .../apache/ignite/IgniteJdbcThinDataSource.java| 17 - .../apache/ignite/cache/query/QueryMetrics.java| 6 +- .../org/apache/ignite/cache/query/ScanQuery.java | 31 -- .../apache/ignite/cache/query/SqlFieldsQuery.java | 32 -- .../org/apache/ignite/cache/query/SqlQuery.java| 31 -- .../ignite/client/ClientConnectionException.java | 18 +- .../events/CacheConsistencyViolationEvent.java | 69 .../java/org/apache/ignite/events/EventType.java | 15 + .../org/apache/ignite/internal/IgniteFeatures.java | 5 +- .../org/apache/ignite/internal/IgniteKernal.java | 26 +- .../org/apache/ignite/internal/IgnitionEx.java | 65 ++-- .../ignite/internal/client/thin/ClientChannel.java | 17 +- .../client/thin/ClientFieldsQueryPager.java| 7 +- .../internal/client/thin/ClientQueryPager.java | 7 +- .../ignite/internal/client/thin/ClientUtils.java | 11 +- .../internal/client/thin/GenericQueryPager.java| 42 +- .../thin/PayloadInputChannel.java} | 43 ++- .../internal/client/thin/PayloadOutputChannel.java | 62 +++ .../internal/client/thin/ProtocolVersion.java | 9 + .../internal/client/thin/ReliableChannel.java | 121 +++--- .../internal/client/thin/TcpClientCache.java | 98 +++-- .../internal/client/thin/TcpClientChannel.java | 276 ++--- .../internal/client/thin/TcpIgniteClient.java | 56 ++- .../ignite/internal/commandline/WalCommands.java | 13 +- .../internal/commandline/cache/CacheCommands.java | 3 +- .../ignite/internal/jdbc/JdbcConnection.java | 19 +- .../jdbc/JdbcConnectionValidationTask.java | 54 +++ .../internal/logger/platform/PlatformLogger.java | 2 +- .../managers/discovery/ClusterMetricsImpl.java | 30 +- .../IncompleteDeserializationException.java| 53 +++ .../eventstorage/GridEventStorageManager.java | 14 +- .../internal/metric/IoStatisticsHolderCache.java | 8 +- .../internal/metric/IoStatisticsHolderIndex.java | 12 +- .../pagemem/impl/PageMemoryNoStoreImpl.java| 20 +- .../pagemem/store/IgnitePageStoreManager.java | 4 +- .../internal/pagemem/wal/record/WALRecord.java | 166 .../processors/cache/CacheGroupContext.java| 25 +- .../processors/cache/CacheGroupMetricsImpl.java| 428 - .../cache/CacheGroupMetricsMXBeanImpl.java | 266 ++--- .../processors/cache/CacheMetricsImpl.java | 138 --- .../processors/cache/CacheOperationContext.java| 55 ++- .../cache/GatewayProtectedCacheProxy.java | 34 ++ .../processors/cache/GridCacheAdapter.java | 376 +++--- .../processors/cache/GridCachePreloader.java | 12 - .../cache/GridCachePreloaderAdapter.java | 14 - .../processors/cache/GridCacheProcessor.java | 108 -- .../processors/cache/GridCacheProxyImpl.java | 54 ++- .../cache/IgniteCacheOffheapManagerImpl.java | 9 +- .../processors/cache/IgniteCacheProxyImpl.java | 7 +- .../internal/processors/cache/WalStateManager.java | 13 +- .../cache/distributed/dht/GridDhtCacheAdapter.java | 3 + .../distributed/dht/GridPartitionedGetFuture.java | 41 +- .../distributed/dht/atomic/GridDhtAtomicCache.java | 74 +++- .../dht/colocated/GridDhtColocatedCache.java | 38 +- .../dht/preloader/GridDhtPartitionDemander.java| 69 ++-- .../dht/preloader/GridDhtPartitionSupplier.java| 21 +- .../dht/preloader/GridDhtPreloader.j
[ignite] 04/04: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 86bc43e24e2a5cec9060470b8958631605e50963 Author: sboikov AuthorDate: Tue Jul 23 07:23:40 2019 +0300 ignite-11704 --- .../internal/processors/cache/CacheGroupContext.java | 2 +- .../processors/cache/IgniteCacheOffheapManager.java | 2 -- .../processors/cache/IgniteCacheOffheapManagerImpl.java | 15 +-- .../distributed/dht/topology/GridDhtLocalPartition.java | 3 --- .../processors/cache/persistence/CacheDataRowAdapter.java | 4 +++- 5 files changed, 5 insertions(+), 21 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 101..cbdb3e8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -1293,7 +1293,7 @@ public class CacheGroupContext { } public boolean supportsTombstone() { -return !hasAtomicCaches && !mvccEnabled && !isLocal(); +return !sharedGroup() && !hasAtomicCaches && !mvccEnabled && !isLocal(); } public boolean createTombstone(@Nullable GridDhtLocalPartition part) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index c883343..2272439 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -453,8 +453,6 @@ public interface IgniteCacheOffheapManager { */ public GridIterator partitionIterator(final int part, boolean withTombstones) throws IgniteCheckedException; -public GridIterator tombstonesIterator(final int part) throws IgniteCheckedException; - /** * @param part Partition number. * @param topVer Topology version. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index f653342..6683237 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -898,19 +898,6 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager return iterator(CU.UNDEFINED_CACHE_ID, singletonIterator(data), null, null, withTombstones); } -/** {@inheritDoc} */ -@Override public GridIterator tombstonesIterator(int part) { -assert locCacheDataStore == null; - -CacheDataStore data = partitionData(part); - -if (data == null) -return new GridEmptyCloseableIterator<>(); - -// TODO IGNITE-11704. -return iterator(CU.UNDEFINED_CACHE_ID, singletonIterator(data), null, null, true); -} - /** * * @param cacheId Cache ID. @@ -2940,7 +2927,7 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager @Override public GridCursor cursor(boolean withTombstones) throws IgniteCheckedException { GridCursor cur = dataTree.find(null, null); -return withTombstones ? cursorSkipEmpty(cur) : cursorSkipTombstone(cur); +return withTombstones ? cur : cursorSkipTombstone(cur); } private GridCursor cursorSkipEmpty(final GridCursor cur) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java index b5a63e6..d24cfee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java @@ -1157,9 +1157,6 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements while (cur.next()) { CacheDataRow row = cur.get(); -if (!grp.offheap().isTombstone(row)) -continue; - assert row.key() != null; assert row.version() != null; diff --git a/modules/core/src/main/ja
[ignite] 01/04: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 2a0a0e0ea41f3f1aa9daca279546625b168faf81 Author: sboikov AuthorDate: Fri Jul 19 21:20:51 2019 +0300 ignite-11704 --- .../processors/cache/CacheGroupContext.java| 3 +- .../processors/cache/GridCacheMapEntry.java| 88 +- .../cache/IgniteCacheOffheapManager.java | 3 +- .../cache/IgniteCacheOffheapManagerImpl.java | 70 -- .../dht/topology/GridDhtLocalPartition.java| 101 - .../cache/persistence/CacheDataRowAdapter.java | 22 - .../GridCacheDatabaseSharedManager.java| 2 + .../cache/persistence/GridCacheOffheapManager.java | 8 +- .../IgniteCacheDatabaseSharedManager.java | 59 .../distributed/CacheRemoveWithTombstonesTest.java | 39 ++-- 10 files changed, 350 insertions(+), 45 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 4af5de5..7963893 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -47,6 +47,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffini import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentResponse; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionState; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopology; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl; import org.apache.ignite.internal.processors.cache.persistence.DataRegion; @@ -1307,7 +1308,7 @@ public class CacheGroupContext { } public boolean createTombstone(@Nullable GridDhtLocalPartition part) { -return part != null && supportsTombstone(); +return part != null && supportsTombstone() && part.state() == GridDhtPartitionState.MOVING; } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index adc8699..08986a9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -1717,8 +1717,12 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } -if (cctx.group().createTombstone(localPartition())) -cctx.offheap().removeWithTombstone(cctx, key, newVer, partition(), localPartition()); +if (cctx.group().createTombstone(localPartition())) { +cctx.offheap().removeWithTombstone(cctx, key, newVer, localPartition()); + +if (!cctx.group().createTombstone(localPartition())) +removeTombstone0(newVer); +} else removeValue(); @@ -2818,6 +2822,34 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } /** + * @param tombstoneVer Tombstone version. + * @throws GridCacheEntryRemovedException If entry was removed. + * @throws IgniteCheckedException If failed. + */ +public void removeTombstone(GridCacheVersion tombstoneVer) throws GridCacheEntryRemovedException, IgniteCheckedException { +lockEntry(); + +try { +checkObsolete(); + +removeTombstone0(tombstoneVer); +} +finally { +unlockEntry(); +} +} + +/** + * @param tombstoneVer Tombstone version. + * @throws IgniteCheckedException If failed. + */ +private void removeTombstone0(GridCacheVersion tombstoneVer) throws IgniteCheckedException { +RemoveClosure closure = new RemoveClosure(this, tombstoneVer); + +cctx.offheap().invoke(cctx, key, localPartition(), closure); +} + +/** * @return {@code True} if this entry should not be evicted from cache. */ protected boolean evictionDisabled() { @@ -5720,6 +5752,58 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme /** * */ +private static class
[ignite] 02/04: Merge remote-tracking branch 'origin/ignite-11704' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 8c9bd4f6f2b5f4ae4d669b0bb5a6fd3c3277f610 Merge: 2a0a0e0 e6a793b Author: sboikov AuthorDate: Sun Jul 21 22:41:19 2019 +0300 Merge remote-tracking branch 'origin/ignite-11704' into ignite-11704 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java .../processors/cache/IgniteCacheOffheapManager.java | 2 ++ .../processors/cache/IgniteCacheOffheapManagerImpl.java | 13 + 2 files changed, 15 insertions(+)
[ignite] branch ignite-11704 updated: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11704 by this push: new e6a793b ignite-11704 e6a793b is described below commit e6a793bf4caf897453f40ad4df977ea7268dea4c Author: sboikov AuthorDate: Fri Jul 19 21:20:51 2019 +0300 ignite-11704 --- .../processors/cache/CacheGroupContext.java| 3 +- .../processors/cache/GridCacheMapEntry.java| 88 ++- .../cache/IgniteCacheOffheapManager.java | 5 +- .../cache/IgniteCacheOffheapManagerImpl.java | 26 +- .../dht/topology/GridDhtLocalPartition.java| 99 +- .../cache/persistence/GridCacheOffheapManager.java | 8 +- .../distributed/CacheRemoveWithTombstonesTest.java | 39 +++-- 7 files changed, 250 insertions(+), 18 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 4af5de5..7963893 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -47,6 +47,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffini import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentResponse; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionState; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopology; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl; import org.apache.ignite.internal.processors.cache.persistence.DataRegion; @@ -1307,7 +1308,7 @@ public class CacheGroupContext { } public boolean createTombstone(@Nullable GridDhtLocalPartition part) { -return part != null && supportsTombstone(); +return part != null && supportsTombstone() && part.state() == GridDhtPartitionState.MOVING; } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index adc8699..08986a9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -1717,8 +1717,12 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } -if (cctx.group().createTombstone(localPartition())) -cctx.offheap().removeWithTombstone(cctx, key, newVer, partition(), localPartition()); +if (cctx.group().createTombstone(localPartition())) { +cctx.offheap().removeWithTombstone(cctx, key, newVer, localPartition()); + +if (!cctx.group().createTombstone(localPartition())) +removeTombstone0(newVer); +} else removeValue(); @@ -2818,6 +2822,34 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } /** + * @param tombstoneVer Tombstone version. + * @throws GridCacheEntryRemovedException If entry was removed. + * @throws IgniteCheckedException If failed. + */ +public void removeTombstone(GridCacheVersion tombstoneVer) throws GridCacheEntryRemovedException, IgniteCheckedException { +lockEntry(); + +try { +checkObsolete(); + +removeTombstone0(tombstoneVer); +} +finally { +unlockEntry(); +} +} + +/** + * @param tombstoneVer Tombstone version. + * @throws IgniteCheckedException If failed. + */ +private void removeTombstone0(GridCacheVersion tombstoneVer) throws IgniteCheckedException { +RemoveClosure closure = new RemoveClosure(this, tombstoneVer); + +cctx.offheap().invoke(cctx, key, localPartition(), closure); +} + +/** * @return {@code True} if this entry should not be evicted from cache. */ protected boolean evictionDisabled() { @@ -5720,6 +5752,58 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme /** * */ +private static class RemoveClosure implements IgniteCacheOffheapManager.OffheapInvokeClosure { +/** *
[ignite] 02/02: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 5a05291a9414ef8f8b37ec3d1e8a2e0a9ce4c70f Author: sboikov AuthorDate: Thu Jul 11 23:45:40 2019 +0300 ignite-11704 --- .../processors/cache/CacheMetricsImpl.java | 14 ++ .../processors/cache/GridCacheContext.java | 14 ++ .../cache/IgniteCacheOffheapManager.java | 6 +- .../cache/IgniteCacheOffheapManagerImpl.java | 69 -- .../dht/topology/GridDhtLocalPartition.java| 2 +- .../cache/persistence/GridCacheOffheapManager.java | 8 +- .../verify/CollectConflictPartitionKeysTask.java | 2 +- .../cache/verify/VerifyBackupPartitionsTask.java | 2 +- .../cache/verify/VerifyBackupPartitionsTaskV2.java | 2 +- ...orFindAndDeleteGarbageInPersistenceClosure.java | 2 +- .../processors/cache/IgniteCacheGroupsTest.java| 10 +- .../distributed/CacheRemoveWithTombstonesTest.java | 261 + .../cache/persistence/db/IgnitePdsWithTtlTest.java | 2 +- .../ignite/testsuites/IgniteCacheTestSuite9.java | 3 + 14 files changed, 355 insertions(+), 42 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java index ab1c4a1..5808db6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java @@ -29,6 +29,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.topology.Grid import org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore; import org.apache.ignite.internal.processors.metric.MetricRegistry; import org.apache.ignite.internal.processors.metric.impl.HitRateMetric; +import org.apache.ignite.internal.processors.metric.impl.LongAdderMetricImpl; import org.apache.ignite.internal.processors.metric.impl.LongMetricImpl; import org.apache.ignite.internal.processors.metric.impl.MetricUtils; import org.apache.ignite.internal.util.tostring.GridToStringExclude; @@ -161,6 +162,9 @@ public class CacheMetricsImpl implements CacheMetrics { /** Number of currently clearing partitions for rebalancing. */ private final LongMetricImpl rebalanceClearingPartitions; +/** */ +private LongAdderMetricImpl tombstones; + /** Cache metrics. */ @GridToStringExclude private transient CacheMetricsImpl delegate; @@ -312,6 +316,8 @@ public class CacheMetricsImpl implements CacheMetrics { rebalanceClearingPartitions = mreg.metric("RebalanceClearingPartitionsLeft", "Number of partitions need to be cleared before actual rebalance start."); + +tombstones = mreg.longAdderMetric("Tombstones", "Number of tombstone entries"); } /** @@ -1009,6 +1015,14 @@ public class CacheMetricsImpl implements CacheMetrics { delegate.addPutAndGetTimeNanos(duration); } +public void tombstoneCreated() { +tombstones.increment(); +} + +public void tombstoneRemoved() { +tombstones.decrement(); +} + /** {@inheritDoc} */ @Override public String getKeyType() { CacheConfiguration ccfg = cctx.config(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 87c6253..5ac56db 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -2372,6 +2372,20 @@ public class GridCacheContext implements Externalizable { } } +public void tombstoneCreated() { +GridCacheAdapter cache = this.cache; + +if (cache != null) +cache.metrics0().tombstoneCreated(); +} + +public void tombstoneRemoved() { +GridCacheAdapter cache = this.cache; + +if (cache != null) +cache.metrics0().tombstoneRemoved(); +} + /** {@inheritDoc} */ @Override public String toString() { return "GridCacheContext: " + name(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 4221a2d..c11e909 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -452,7 +4
[ignite] 01/02: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 4403455baaa82b5c2546802633cbe1a676393513 Author: sboikov AuthorDate: Wed Jul 10 22:38:35 2019 +0300 ignite-11704 --- .../processors/cache/IgniteCacheConfigVariationsFullApiTest.java | 2 +- .../cache/persistence/IgnitePdsRemoveDuringRebalancingTest.java | 8 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java index 74d9442..ae9df1e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java @@ -6616,7 +6616,7 @@ public class IgniteCacheConfigVariationsFullApiTest extends IgniteCacheConfigVar GridCacheEntryEx entry = ctx.isNear() ? ctx.near().dht().peekEx(key) : ctx.cache().peekEx(key); -if (ignite.affinity(cacheName).mapKeyToPrimaryAndBackups(key).contains(((IgniteKernal)ignite).localNode())) { +if (ctx.deferredDelete() && ignite.affinity(cacheName).mapKeyToPrimaryAndBackups(key).contains(((IgniteKernal)ignite).localNode())) { assertNotNull(entry); assertTrue(entry.deleted()); } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsRemoveDuringRebalancingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsRemoveDuringRebalancingTest.java index 53556bd..68c8f7a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsRemoveDuringRebalancingTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsRemoveDuringRebalancingTest.java @@ -48,7 +48,7 @@ public class IgnitePdsRemoveDuringRebalancingTest extends GridCommonAbstractTest IgniteConfiguration cfg = super.getConfiguration(gridName); cfg.setCacheConfiguration( -new CacheConfiguration() +new CacheConfiguration(DEFAULT_CACHE_NAME) .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) .setBackups(1) .setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC) @@ -96,14 +96,14 @@ public class IgnitePdsRemoveDuringRebalancingTest extends GridCommonAbstractTest ig.active(true); -try (IgniteDataStreamer streamer = ig.dataStreamer(null)) { +try (IgniteDataStreamer streamer = ig.dataStreamer(DEFAULT_CACHE_NAME)) { streamer.allowOverwrite(true); for (int i = 0; i < 100_000; i++) streamer.addData(i, i); } -final IgniteCache cache = ig.cache(null); +final IgniteCache cache = ig.cache(DEFAULT_CACHE_NAME); IgniteInternalFuture fut = GridTestUtils.runAsync(new Callable() { @Override public Object call() throws Exception { @@ -118,7 +118,7 @@ public class IgnitePdsRemoveDuringRebalancingTest extends GridCommonAbstractTest IgniteEx another = grid(1); -IgniteCache cache1 = another.cache(null); +IgniteCache cache1 = another.cache(DEFAULT_CACHE_NAME); for (int i = 0; i < 100_000; i++) assertNull(cache1.localPeek(i));
[ignite] branch ignite-11704 updated (d5e4e78 -> 5a05291)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. from d5e4e78 ignite-11704 new 4403455 ignite-11704 new 5a05291 ignite-11704 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../processors/cache/CacheMetricsImpl.java | 14 ++ .../processors/cache/GridCacheContext.java | 14 ++ .../cache/IgniteCacheOffheapManager.java | 6 +- .../cache/IgniteCacheOffheapManagerImpl.java | 69 -- .../dht/topology/GridDhtLocalPartition.java| 2 +- .../cache/persistence/GridCacheOffheapManager.java | 8 +- .../verify/CollectConflictPartitionKeysTask.java | 2 +- .../cache/verify/VerifyBackupPartitionsTask.java | 2 +- .../cache/verify/VerifyBackupPartitionsTaskV2.java | 2 +- ...orFindAndDeleteGarbageInPersistenceClosure.java | 2 +- .../IgniteCacheConfigVariationsFullApiTest.java| 2 +- .../processors/cache/IgniteCacheGroupsTest.java| 10 +- .../distributed/CacheRemoveWithTombstonesTest.java | 261 + .../IgnitePdsRemoveDuringRebalancingTest.java | 8 +- .../cache/persistence/db/IgnitePdsWithTtlTest.java | 2 +- .../ignite/testsuites/IgniteCacheTestSuite9.java | 3 + 16 files changed, 360 insertions(+), 47 deletions(-) create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheRemoveWithTombstonesTest.java
[ignite] branch ignite-11704 created (now d5e4e78)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git. at d5e4e78 ignite-11704 This branch includes the following new commits: new 312e76d2 ignite-11704 new 345a7a5 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 new d5e4e78 ignite-11704 The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] 02/03: Merge remote-tracking branch 'remotes/origin/master' into ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 345a7a5b8c6dca1d5c5ff34149ed632e724a3a5f Merge: 312e76d2 1557188 Author: sboikov AuthorDate: Wed Jul 10 09:10:54 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-11704 examples/pom-standalone-lgpl.xml | 18 -- examples/pom-standalone.xml| 18 -- .../ComputeContinuousMapperExample.java| 3 +- .../computegrid/ComputeTaskMapExample.java | 3 +- .../ignite/examples/BasicExamplesSelfTest.java | 47 ++--- .../ignite/examples/CacheExamplesSelfTest.java | 219 +++-- .../examples/CheckpointExamplesSelfTest.java | 31 ++- .../examples/ClusterGroupExampleSelfTest.java | 19 +- .../ContinuationExamplesMultiNodeSelfTest.java | 3 - .../examples/ContinuationExamplesSelfTest.java | 16 +- .../ContinuousMapperExamplesMultiNodeSelfTest.java | 3 - .../examples/ContinuousMapperExamplesSelfTest.java | 14 +- .../DeploymentExamplesMultiNodeSelfTest.java | 15 +- .../examples/DeploymentExamplesSelfTest.java | 15 +- .../ignite/examples/IgfsExamplesSelfTest.java | 40 ++-- .../ignite/examples/LifecycleExamplesSelfTest.java | 16 +- .../MemcacheRestExamplesMultiNodeSelfTest.java | 15 +- .../examples/MemcacheRestExamplesSelfTest.java | 38 ++-- .../ignite/examples/MessagingExamplesSelfTest.java | 16 +- .../MonteCarloExamplesMultiNodeSelfTest.java | 3 - .../examples/MonteCarloExamplesSelfTest.java | 16 +- .../examples/SpringBeanExamplesSelfTest.java | 16 +- .../examples/TaskExamplesMultiNodeSelfTest.java| 3 - .../ignite/examples/TaskExamplesSelfTest.java | 37 ++-- .../direct/singlesplit/SingleSplitTestTask.java| 3 +- .../main/java/org/apache/ignite/IgniteCompute.java | 8 +- .../java/org/apache/ignite/IgniteScheduler.java| 34 ++-- .../org/apache/ignite/IgniteSystemProperties.java | 2 +- .../org/apache/ignite/compute/ComputeTask.java | 3 +- .../ignite/compute/ComputeTaskSplitAdapter.java| 3 +- .../gridify/aop/GridifyDefaultRangeTask.java | 3 +- .../compute/gridify/aop/GridifyDefaultTask.java| 3 +- .../configuration/ConnectorConfiguration.java | 8 +- .../configuration/DataStorageConfiguration.java| 54 +++-- .../ignite/internal/GridTaskSessionImpl.java | 56 -- .../org/apache/ignite/internal/IgniteKernal.java | 3 +- .../ignite/internal/IgniteSchedulerImpl.java | 12 +- .../org/apache/ignite/internal/IgnitionEx.java | 2 + .../internal/MarshallerMappingFileStore.java | 4 +- .../binary/streams/BinaryMemoryAllocatorChunk.java | 8 +- .../connection/GridClientNioTcpConnection.java | 2 + .../ignite/internal/cluster/IgniteKillTask.java| 3 +- .../internal/commandline/BaselineCommand.java | 20 +- .../internal/commandline/CommandArgIterator.java | 10 +- .../internal/commandline/CommandHandler.java | 96 ++--- .../ignite/internal/commandline/StateCommand.java | 3 +- .../internal/executor/GridExecutorService.java | 48 +++-- .../managers/discovery/GridDiscoveryManager.java | 10 +- .../eventstorage/GridEventStorageManager.java | 13 +- .../internal/pagemem/wal/record/PageSnapshot.java | 44 +++-- .../processors/cache/GridCacheAdapter.java | 9 +- .../cache/GridCachePartitionExchangeManager.java | 6 +- .../distributed/GridDistributedCacheAdapter.java | 2 +- .../preloader/GridDhtPartitionsExchangeFuture.java | 20 +- .../dht/topology/GridDhtPartitionTopologyImpl.java | 18 +- .../dht/topology/PartitionsEvictManager.java | 8 +- .../GridCacheDatabaseSharedManager.java| 32 +-- .../cache/persistence/GridCacheOffheapManager.java | 8 +- .../cache/persistence/file/AbstractFileIO.java | 4 +- .../pagemem/IntervalBasedMeasurement.java | 3 +- .../wal/filehandle/FileHandleManagerImpl.java | 21 +- .../query/jdbc/GridCacheQueryJdbcMetadataTask.java | 3 +- .../cache/query/jdbc/GridCacheQueryJdbcTask.java | 3 +- .../transactions/IgniteTxLocalStateAdapter.java| 3 +- .../verify/CollectConflictPartitionKeysTask.java | 3 +- .../RetrieveConflictPartitionValuesTask.java | 3 +- .../verify/VerifyBackupPartitionsDumpTask.java | 3 +- .../cache/verify/VerifyBackupPartitionsTask.java | 3 +- .../cache/verify/VerifyBackupPartitionsTaskV2.java | 3 +- .../processors/cache/verify/ViewCacheClosure.java | 5 +- .../processors/closure/GridClosureProcessor.java | 22 +-- .../compute/PlatformBalancingMultiClosureTask.java | 3 +- ...PlatformBalancingSingleClosureAffinityTask.java | 3 +- .../PlatformBalancingSingleClosureTask.java| 3 +- .../PlatformBroadcastingMultiClosureTask.java
[ignite] 01/03: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 312e76d2e85917cfcda530cc40a2c8de74310e0d Author: sboikov AuthorDate: Tue Jul 9 13:42:56 2019 +0300 ignite-11704 --- .../processors/cache/CacheGroupContext.java| 9 + .../processors/cache/GridCacheContext.java | 4 +- .../processors/cache/GridCacheMapEntry.java| 195 +++-- .../cache/IgniteCacheOffheapManager.java | 43 +++- .../cache/IgniteCacheOffheapManagerImpl.java | 243 + .../processors/cache/persistence/CacheDataRow.java | 5 + .../cache/persistence/CacheDataRowAdapter.java | 5 + .../cache/persistence/GridCacheOffheapManager.java | 19 +- .../internal/processors/cache/tree/DataRow.java| 6 +- .../cache/GridCacheAbstractFullApiSelfTest.java| 2 +- .../processors/database/CacheFreeListSelfTest.java | 5 + .../query/h2/database/H2PkHashIndex.java | 2 +- .../processors/query/h2/opt/H2CacheRow.java| 5 + 13 files changed, 364 insertions(+), 179 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 4fc43fd..56c2449 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -46,6 +46,7 @@ import org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCach import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentRequest; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtAffinityAssignmentResponse; import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopology; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl; import org.apache.ignite.internal.processors.cache.persistence.DataRegion; @@ -1299,6 +1300,14 @@ public class CacheGroupContext { return hasAtomicCaches; } +public boolean supportsTombstone() { +return !hasAtomicCaches && !mvccEnabled && !isLocal(); +} + +public boolean createTombstone(@Nullable GridDhtLocalPartition part) { +return part != null && supportsTombstone(); +} + /** * @return Metrics. */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 9d52c75..87c6253 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -625,8 +625,8 @@ public class GridCacheContext implements Externalizable { public void cache(GridCacheAdapter cache) { this.cache = cache; -deferredDel = cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || -(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC); +deferredDel = !grp.supportsTombstone() && (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || +(cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC)); } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index f1b7ec7..adc8699 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -98,9 +98,9 @@ import org.apache.ignite.internal.util.typedef.T3; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.lang.IgniteBiPredicate; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteInClosure; -import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.thread.IgniteThread; import org.jetbrains.annotations.NotNull; @@ -1713,13 +1713,14 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme interceptRes
[ignite] 03/03: ignite-11704
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11704 in repository https://gitbox.apache.org/repos/asf/ignite.git commit d5e4e788893e6caa574eb0d1a2b62fbbea210f37 Author: sboikov AuthorDate: Wed Jul 10 10:25:56 2019 +0300 ignite-11704 --- .../org/apache/ignite/internal/processors/cache/CacheGroupContext.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java index 56c2449..4af5de5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java @@ -268,6 +268,8 @@ public class CacheGroupContext { statHolderIdx = new IoStatisticsHolderIndex(HASH_INDEX, cacheOrGroupName(), HASH_PK_IDX_NAME, mmgr); statHolderData = new IoStatisticsHolderCache(cacheOrGroupName(), grpId, mmgr); } + +hasAtomicCaches = ccfg.getAtomicityMode() == ATOMIC; } /**
[ignite] branch ignite-9720 updated (172dd83 -> 81a55ae)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 172dd83 fix test add db74e92 IGNITE-11914 Failures to deserialize discovery data should be handled by a failure handler - Fixes #6641 add 4285e78 IGNITE-11955 Fix control.sh issues related to IGNITE-11876 and IGNITE-11913 - Fixes #6660. add 0005467 IGNITE-11954 control.sh should log actions performed - Fixes #6661. add c4da2d8 IGNITE-11963 Remove ContinuousQueryDeserializationErrorOnNodeJoinTest - Fixes #. add 0426958 IGNITE-11945: Metric API changes. (#6656) add 1cc9412 IGNITE-9934 Improve logging on partition map exchange - Fixes #6295. add 9f7e500 IGNITE-11957 IdleVerify command should print end time of execution - Fixes #6662. add 2999cb9 IGNITE-9488 Adjust number of cache entries tested to allow the test to finish before timeout - Fixes #6663. new 81a55ae Merge branch 'master' into ignite-9720 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../benchmarks/jol/GridMetricsJolBenchmark.java| 4 +- .../org/apache/ignite/internal/IgniteKernal.java | 11 +- .../internal/commandline/ActivateCommand.java | 14 +- .../internal/commandline/BaselineCommand.java | 54 +++--- .../ignite/internal/commandline/Command.java | 23 ++- .../internal/commandline/CommandHandler.java | 207 +++- .../ignite/internal/commandline/CommandList.java | 7 + .../ignite/internal/commandline/CommandLogger.java | 131 +++-- .../internal/commandline/CommonArgParser.java | 11 +- .../internal/commandline/DeactivateCommand.java| 14 +- .../ignite/internal/commandline/StateCommand.java | 14 +- .../ignite/internal/commandline/TxCommands.java| 104 +- .../ignite/internal/commandline/WalCommands.java | 56 +++--- .../internal/commandline/cache/CacheCommands.java | 74 --- .../commandline/cache/CacheContention.java | 12 +- .../commandline/cache/CacheDistribution.java | 12 +- .../commandline/cache/CacheValidateIndexes.java| 32 ++-- .../internal/commandline/cache/CacheViewer.java| 27 +-- .../commandline/cache/FindAndDeleteGarbage.java| 21 +- .../internal/commandline/cache/IdleVerify.java | 81 ++-- .../commandline/cache/ResetLostPartitions.java | 11 +- .../commandline/diagnostic/DiagnosticCommand.java | 36 ++-- .../commandline/diagnostic/PageLocksCommand.java | 26 +-- .../managers/discovery/ClusterMetricsImpl.java | 23 +-- .../internal/metric/IoStatisticsHolderCache.java | 22 ++- .../internal/metric/IoStatisticsHolderIndex.java | 27 +-- .../IgniteAuthenticationProcessor.java | 2 +- .../processors/cache/CacheGroupContext.java| 16 +- .../processors/cache/CacheMetricsImpl.java | 34 ++-- .../processors/cache/GridCacheAdapter.java | 10 +- .../processors/cache/GridCacheProcessor.java | 4 +- .../preloader/GridDhtPartitionsExchangeFuture.java | 1 + .../processors/cache/mvcc/MvccProcessorImpl.java | 2 +- .../cache/persistence/DataRegionMetricsImpl.java | 76 +--- .../cache/persistence/DataStorageMetricsImpl.java | 51 ++--- .../GridCacheDatabaseSharedManager.java| 2 +- .../IgniteCacheDatabaseSharedManager.java | 2 +- .../cache/verify/IdleVerifyResultV2.java | 13 +- .../verify/VerifyBackupPartitionsDumpTask.java | 42 +--- .../cache/verify/VerifyBackupPartitionsTaskV2.java | 55 +++--- .../cluster/GridClusterStateProcessor.java | 14 +- .../internal/processors/job/GridJobProcessor.java | 6 +- .../persistence/DistributedMetaStorageImpl.java| 6 +- .../internal/processors/metric/AbstractMetric.java | 10 +- .../processors/metric/GridMetricManager.java | 173 +++-- .../internal/processors/metric/MetricRegistry.java | 208 ++-- .../processors/metric/MetricRegistryImpl.java | 212 - .../metric/MetricRegistryPrefixProxy.java | 177 - .../metric/PushMetricsExporterAdapter.java | 8 +- .../processors/metric/impl/BooleanGauge.java | 6 +- .../processors/metric/impl/BooleanMetricImpl.java | 6 +- .../processors/metric/impl/DoubleGauge.java| 6 +- .../processors/metric/impl/DoubleMetricImpl.java | 6 +- .../processors/metric/impl/HistogramMetric.java| 6 +- .../processors/metric/impl/HitRateMetric.java | 6 +- .../internal/processors/metric/impl/IntGauge.java | 6 +- .../processors/metric/impl/IntMetricImpl.java | 6 +- .../metric/impl/Long
[ignite] 01/01: Merge branch 'master' into ignite-9720
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 81a55ae393526134060b34ed6c72b134ad8f2aaf Merge: 172dd83 2999cb9 Author: sboikov AuthorDate: Thu Jul 4 17:33:28 2019 +0300 Merge branch 'master' into ignite-9720 .../benchmarks/jol/GridMetricsJolBenchmark.java| 4 +- .../org/apache/ignite/internal/IgniteKernal.java | 11 +- .../internal/commandline/ActivateCommand.java | 14 +- .../internal/commandline/BaselineCommand.java | 54 +++--- .../ignite/internal/commandline/Command.java | 23 ++- .../internal/commandline/CommandHandler.java | 207 +++- .../ignite/internal/commandline/CommandList.java | 7 + .../ignite/internal/commandline/CommandLogger.java | 131 +++-- .../internal/commandline/CommonArgParser.java | 11 +- .../internal/commandline/DeactivateCommand.java| 14 +- .../ignite/internal/commandline/StateCommand.java | 14 +- .../ignite/internal/commandline/TxCommands.java| 104 +- .../ignite/internal/commandline/WalCommands.java | 56 +++--- .../internal/commandline/cache/CacheCommands.java | 74 --- .../commandline/cache/CacheContention.java | 12 +- .../commandline/cache/CacheDistribution.java | 12 +- .../commandline/cache/CacheValidateIndexes.java| 32 ++-- .../internal/commandline/cache/CacheViewer.java| 27 +-- .../commandline/cache/FindAndDeleteGarbage.java| 21 +- .../internal/commandline/cache/IdleVerify.java | 81 ++-- .../commandline/cache/ResetLostPartitions.java | 11 +- .../commandline/diagnostic/DiagnosticCommand.java | 36 ++-- .../commandline/diagnostic/PageLocksCommand.java | 26 +-- .../managers/discovery/ClusterMetricsImpl.java | 23 +-- .../internal/metric/IoStatisticsHolderCache.java | 22 ++- .../internal/metric/IoStatisticsHolderIndex.java | 27 +-- .../IgniteAuthenticationProcessor.java | 2 +- .../processors/cache/CacheGroupContext.java| 16 +- .../processors/cache/CacheMetricsImpl.java | 34 ++-- .../processors/cache/GridCacheAdapter.java | 10 +- .../processors/cache/GridCacheProcessor.java | 4 +- .../preloader/GridDhtPartitionsExchangeFuture.java | 1 + .../processors/cache/mvcc/MvccProcessorImpl.java | 2 +- .../cache/persistence/DataRegionMetricsImpl.java | 76 +--- .../cache/persistence/DataStorageMetricsImpl.java | 51 ++--- .../GridCacheDatabaseSharedManager.java| 2 +- .../IgniteCacheDatabaseSharedManager.java | 2 +- .../cache/verify/IdleVerifyResultV2.java | 13 +- .../verify/VerifyBackupPartitionsDumpTask.java | 42 +--- .../cache/verify/VerifyBackupPartitionsTaskV2.java | 55 +++--- .../cluster/GridClusterStateProcessor.java | 14 +- .../internal/processors/job/GridJobProcessor.java | 6 +- .../persistence/DistributedMetaStorageImpl.java| 6 +- .../internal/processors/metric/AbstractMetric.java | 10 +- .../processors/metric/GridMetricManager.java | 173 +++-- .../internal/processors/metric/MetricRegistry.java | 208 ++-- .../processors/metric/MetricRegistryImpl.java | 212 - .../metric/MetricRegistryPrefixProxy.java | 177 - .../metric/PushMetricsExporterAdapter.java | 8 +- .../processors/metric/impl/BooleanGauge.java | 6 +- .../processors/metric/impl/BooleanMetricImpl.java | 6 +- .../processors/metric/impl/DoubleGauge.java| 6 +- .../processors/metric/impl/DoubleMetricImpl.java | 6 +- .../processors/metric/impl/HistogramMetric.java| 6 +- .../processors/metric/impl/HitRateMetric.java | 6 +- .../internal/processors/metric/impl/IntGauge.java | 6 +- .../processors/metric/impl/IntMetricImpl.java | 6 +- .../metric/impl/LongAdderMetricImpl.java | 6 +- .../internal/processors/metric/impl/LongGauge.java | 6 +- .../processors/metric/impl/LongMetricImpl.java | 6 +- .../processors/metric/impl/MetricUtils.java| 67 +++ .../processors/metric/impl/ObjectGauge.java| 6 +- .../processors/metric/impl/ObjectMetricImpl.java | 6 +- .../OsDiscoveryNodeValidationProcessor.java| 2 +- .../visor/verify/VisorIdleVerifyDumpTaskArg.java | 38 +--- .../internal/visor/verify/VisorIdleVerifyTask.java | 2 +- .../visor/verify/VisorIdleVerifyTaskArg.java | 62 +- .../ignite/logger/java/JavaLoggerFileHandler.java | 2 +- .../org/apache/ignite/mxbean/IgniteMXBean.java | 12 +- .../ignite/spi/discovery/tcp/ServerImpl.java | 22 ++- .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 22 ++- .../tcp/internal/DiscoveryDataPacket.java | 78 +++- .../ignite/spi/metric/MetricExporterSpi.java | 9 +- .../ignite/spi/metric
[ignite] branch ignite-9720 updated: fix test
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-9720 by this push: new 172dd83 fix test 172dd83 is described below commit 172dd834cb49730960e1cddb7b5eaff8bb9f6ebb Author: sboikov AuthorDate: Wed Jul 3 09:17:39 2019 +0300 fix test --- .../processors/cache/persistence/GridCacheOffheapManager.java| 9 - .../processors/cache/persistence/freelist/AbstractFreeList.java | 4 +--- .../cache/persistence/db/checkpoint/CheckpointFreeListTest.java | 6 ++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java index aee9aae..5c3addb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java @@ -71,7 +71,6 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.topology.Grid import org.apache.ignite.internal.processors.cache.mvcc.MvccSnapshot; import org.apache.ignite.internal.processors.cache.mvcc.MvccVersion; import org.apache.ignite.internal.processors.cache.persistence.freelist.CacheFreeList; -import org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList; import org.apache.ignite.internal.processors.cache.persistence.freelist.SimpleDataRow; import org.apache.ignite.internal.processors.cache.persistence.freelist.FreeList; import org.apache.ignite.internal.processors.cache.persistence.migration.UpgradePendingTreeToPerPartitionTask; @@ -1560,7 +1559,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple /** * */ -private static class PartitionCacheFreeList extends CacheFreeList { +private static class CachePartitionFreeList extends CacheFreeList { /** */ private final CacheGroupContext grp; @@ -1573,7 +1572,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple * @param reuseRoot Reuse list root page. * @throws IgniteCheckedException If failed. */ -PartitionCacheFreeList(CacheGroupContext grp, String freeListName, int partId, RootPage reuseRoot) +CachePartitionFreeList(CacheGroupContext grp, String freeListName, int partId, RootPage reuseRoot) throws IgniteCheckedException { super(grp.groupId(), freeListName, @@ -1605,7 +1604,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple private final int partId; /** */ -private volatile FreeList freeList; +private volatile FreeList freeList; /** */ private PendingEntriesTree pendingTree; @@ -1730,7 +1729,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple assert grp.shared().database().checkpointLockIsHeldByThread(); -return new PartitionCacheFreeList(grp, freeListName, partId, reuseRoot); +return new CachePartitionFreeList(grp, freeListName, partId, reuseRoot); } finally { if (lock) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java index 658e26b..0a5171c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java @@ -649,9 +649,7 @@ public abstract class AbstractFreeList extends PagesList imp return bucket == REUSE_BUCKET; } -/** - * @return Number of empty data pages in free list. - */ +/** {@inheritDoc} */ @Override public int emptyDataPages() { return bucketsSize[REUSE_BUCKET].intValue(); } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/checkpoint/CheckpointFreeListTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/checkpoint/CheckpointFreeListTest.java index 0e9f8a5..15ea468 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/checkpoint/CheckpointFreeListTest.java +++ b/modules/core/src/test/java/org/apache
[ignite] 02/02: merge
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit da320ce6d92242cb6459b51c5d614fe8c8f870c3 Author: sboikov AuthorDate: Tue Jul 2 23:42:34 2019 +0300 merge --- .../processors/cache/persistence/LazyCacheFreeList.java | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java index acb9154..af6dce5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java @@ -21,6 +21,7 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.metric.IoStatisticsHolder; +import org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList; import org.apache.ignite.internal.processors.cache.persistence.freelist.CacheFreeList; import org.apache.ignite.internal.processors.cache.persistence.freelist.FreeList; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseBag; @@ -40,7 +41,7 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse AtomicReferenceFieldUpdater.newUpdater(LazyCacheFreeList.class, CountDownLatch.class, "initLatch"); /** */ -private volatile CacheFreeList delegate; +private volatile AbstractFreeList delegate; /** */ private IgniteCheckedException initErr; @@ -50,7 +51,7 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse /** {@inheritDoc} */ @Override public void saveMetadata() throws IgniteCheckedException { -CacheFreeList delegate = this.delegate; +AbstractFreeList delegate = this.delegate; if (delegate != null) delegate.saveMetadata(); @@ -79,7 +80,7 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse /** {@inheritDoc} */ @Override public int emptyDataPages() { try { -CacheFreeList freeList = initDelegateIfNeeded(false); +AbstractFreeList freeList = initDelegateIfNeeded(false); return freeList != null ? freeList.emptyDataPages() : 0; } @@ -91,7 +92,7 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse /** {@inheritDoc} */ @Override public long freeSpace() { try { -CacheFreeList freeList = initDelegateIfNeeded(false); +AbstractFreeList freeList = initDelegateIfNeeded(false); return freeList != null ? freeList.freeSpace() : null; } @@ -102,7 +103,7 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse /** {@inheritDoc} */ @Override public void dumpStatistics(IgniteLogger log) { -CacheFreeList delegate = this.delegate; +AbstractFreeList delegate = this.delegate; if (delegate != null) delegate.dumpStatistics(log); @@ -133,8 +134,8 @@ public abstract class LazyCacheFreeList implements FreeList, Reuse * @return Cache free list. * @throws IgniteCheckedException If failed to initialize free list. */ -private CacheFreeList initDelegateIfNeeded(boolean create) throws IgniteCheckedException { -CacheFreeList delegate = this.delegate; +private AbstractFreeList initDelegateIfNeeded(boolean create) throws IgniteCheckedException { +AbstractFreeList delegate = this.delegate; if (delegate != null) return delegate;
[ignite] branch ignite-invokeAll updated (b60cf57 -> 2251633)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. from b60cf57 invokeAll add 6ca2476 IGNITE-11636 Web console: Fixed cluster switch logic. #6352 add 95c6c28 IGNITE-11245 Replace unused IGNITE_BINARY_META_UPDATE_TIMEOUT parameter. - Fixes #6130. add 9f51dc7 IGNITE-10949 Fix NPE in org.apache.ignite.internal.MarshallerContextImpl.CombinedMap - Fixes #5834. add a0a15d6 IGNITE-11449: [ML] Umbrella: API for Feature/Label extracting (part 1) add 70f952c IGNITE-10997 Fixed @deprecated tag in javadoc add 8abb80c IGNITE-11552: ODBC: Fixed quoted schema handling. This closes #6348. add 4f5732b IGNITE-11524: JDBC Thin Driver: fixed statement leak in connections. This closes #6265. add fecfa26 IGNITE-11638 Web console: Fixed 'Explain query' logic. add 2fe45c7 Merge remote-tracking branch 'origin/master' add 30a3d23 IGNITE-11605 Recheck metadata difference after put pending future - Fixes #6324. add 521fbc9 IGNITE-10138 Provide description for operations of org.apache.ignite.mxbean.TransactionMetricsMxBean - Fixes #5817. add 5f50ada IGNITE-9812 Discovery tests with expired certificate - Fixes #6278. add 2ec46c3 IGNITE-11299 Avoid busy wait on processWrite during SSL handshake - Fixes #6093. add 9a31246 IGNITE-11086 IGNITE_REST_SECURITY_TOKEN_TIMEOUT parameter is set in deciseconds instead of seconds - Fixes #5936. add ae5d5bf IGNITE-10900 Print a warning if consistent ID is not set for persistent-enabled cluster - Fixes #6145. add fd394d8 IGNITE-11127 Handling GridDhtInvalidPartitionException by GridCacheTtlManager - Fixes #6338. add 18d20a6 IGNITE-8223 GridNearTxLocal.clearPrepareFuture does effectively nothing - Fixes #5984. add 51ab35f IGNITE-11631 Fix NPE on server node start and persistence - Fixes #6344. add f2229b1 IGNITE-11011 Initialize grid disco data components at the end of node join process - Fixes #6009. add 26f15b8 IGNITE-11646: SQL: Fixed failing H2IndexesSystemViewTest. This closes #6361. add 4c3c2e5 IGNITE-11431: SQL: Added "SCHEMAS" system view. This closes #6237. add 9dab4e4 IGNITE-11634: SQL: Fixed anonymous class handling in DmlStatementsProcessor. This closes #6349. add ab57fbc IGNITE-11645 Web Console: Fixed failing e2e test. add 35a93c7 IGNITE-11536 Add information about possible long GC pause to checkpoint started message. - Fixes #6276. add af0ad38 IGNITE-11536 Unused imports fix add 2fd6580 IGNITE-11135 Web Console: Fixed incorrect time format in the chart's tooltip. add 9cc6164 IGNITE-11493 Fix test CheckpointFreeListTest#testFreeListRestoredCorrectly always fails in DiskCompression suite - Fixes #6327. add 8d8df72 IGNITE-8376 Cluster activation events added - Fixes #6235. add 01c45aa IGNITE-11259 Web Console: Added missing "enumValues" to binary configuration. add 5aa1481 IGNITE-10214 Web Console: Improved support for JDBC drivers for project generation. add 924139d IGNITE-11643 Optimize GC pressure on GridDhtPartitionTopologyImpl#updateRebalanceVersion - Fixes #6354. add 7ddf776 IGNITE-9497: [ML] Add Pipeline support to Cross-Validation process add 73361b6 IGNITE-11598 Added ability to have different rebalance thread pool size on different nodes in cluster - Fixes #6357. add e2c198d IGNITE-11465 Multiple client leave/join events may wipe affinity assignment history and cause transactions fail - Fixes #6217. add 1bf68b0 IGNITE-11655: [ML] OneHotEncoder returns more columns than expected (#6376) add 9a9c817 IGNITE-11606 Fix index update after index.bin manual removal - Fixes #6325. add 963a40b IGNITE-11143: SQL: Improved printout of long-running queries. This closes #6353. add 70b9e0e IGNITE-7664: SQL: Throw better error messages for unsupported SQL keywords and features. This closes #6138. add a309335 IGNITE-11660 Choose correct closure in DmlStatementsProcessorTest, more tests - Fixes #6379. add a1151a7 IGNITE-11599 Thin client to find valid node for connection from the configuration list - Fixes #6368. add 0ce456d IGNITE-11411 Remove tearDown, setUp from JUnit3TestLegacySupport (#6227) add 94cd19b IGNITE-11599 Fix test licence header. add 27ea976 IGNITE-10104: MVCC: Fixed SFU for REPLICATED caches. This closes #6141. add 4daa681 IGNITE-11629 Make sure Cassandra driver dependencies present in redistributable - Fixes #6375. add db38352 IGNITE-11654: [ML] Memory leak in KNNClassificationModel (#6392) add 003c41e IGNITE-11647: [ML] ML Vectors should work with all Serializable objects besides double add 3aa9167 IGNITE-11416 Added DistributedMetaStorage improvements - Fixes #6190. add 6e36f5c IGNITE-11569 Enable
[ignite] 01/01: Merge remote-tracking branch 'remotes/origin/master' into ignite-invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 22516334e3d7f83cc6cdb0efa96727102182a32e Merge: b60cf57 b722305 Author: sboikov AuthorDate: Wed Apr 10 22:28:48 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-invokeAll .../datagrid/CacheClientBinaryQueryExample.java| 133 +- .../examples/datagrid/CacheQueryExample.java |3 +- .../starschema/CacheStarSchemaExample.java | 25 +- .../ml/TrainingWithBinaryObjectExample.java| 32 +- .../clustering/CustomersClusterizationExample.java | 140 + .../ml/clustering/GmmClusterizationExample.java| 92 +- .../ml/clustering/KMeansClusterizationExample.java | 62 +- .../dataset/AlgorithmSpecificDatasetExample.java | 101 +- .../ml/dataset/CacheBasedDatasetExample.java | 31 +- .../IgniteModelDistributedInferenceExample.java| 76 +- .../spark/LogRegFromSparkThroughPMMLExample.java | 33 +- .../modelparser/DecisionTreeFromSparkExample.java | 55 +- .../DecisionTreeRegressionFromSparkExample.java| 62 +- .../spark/modelparser/GBTFromSparkExample.java | 51 +- .../modelparser/GBTRegressionFromSparkExample.java | 62 +- .../spark/modelparser/KMeansFromSparkExample.java | 62 +- .../LinearRegressionFromSparkExample.java | 62 +- .../spark/modelparser/LogRegFromSparkExample.java | 49 +- .../modelparser/RandomForestFromSparkExample.java | 51 +- .../RandomForestRegressionFromSparkExample.java| 62 +- .../spark/modelparser/SVMFromSparkExample.java | 51 +- .../examples/ml/knn/ANNClassificationExample.java | 100 +- .../examples/ml/knn/IrisClassificationExample.java | 93 + .../examples/ml/knn/KNNClassificationExample.java | 43 +- .../examples/ml/knn/KNNRegressionExample.java | 46 +- .../multiclass/OneVsRestClassificationExample.java | 187 +- .../DiscreteNaiveBayesTrainerExample.java | 52 +- .../GaussianNaiveBayesTrainerExample.java | 49 +- .../ignite/examples/ml/nn/MLPTrainerExample.java | 122 +- .../ml/preprocessing/BinarizationExample.java | 34 +- .../examples/ml/preprocessing/ImputingExample.java | 38 +- .../ImputingWithMostFrequentValuesExample.java | 36 +- .../ml/preprocessing/MaxAbsScalerExample.java | 34 +- .../ml/preprocessing/MinMaxScalerExample.java | 34 +- .../ml/preprocessing/NormalizationExample.java | 36 +- .../ml/preprocessing/StandardScalerExample.java| 34 +- .../linear/BostonHousePricesPredictionExample.java | 113 + .../linear/LinearRegressionLSQRTrainerExample.java | 62 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java | 57 +- .../linear/LinearRegressionSGDTrainerExample.java | 60 +- .../BaggedLogisticRegressionSGDTrainerExample.java | 80 +- .../LogisticRegressionSGDTrainerExample.java | 66 +- .../ml/selection/cv/CrossValidationExample.java| 151 +- .../ml/selection/scoring/EvaluatorExample.java | 56 +- .../selection/scoring/MultipleMetricsExample.java | 44 +- .../selection/scoring/RegressionMetricExample.java | 55 +- .../split/TrainTestDatasetSplitterExample.java | 69 +- ...eeClassificationTrainerSQLInferenceExample.java | 155 +- ...onTreeClassificationTrainerSQLTableExample.java | 163 +- .../ml/svm/SVMBinaryClassificationExample.java | 44 +- .../DecisionTreeClassificationTrainerExample.java | 110 +- .../tree/DecisionTreeRegressionTrainerExample.java | 74 +- .../examples/ml/tree/FraudDetectionExample.java| 125 + .../GDBOnTreesClassificationTrainerExample.java| 54 +- .../GDBOnTreesRegressionTrainerExample.java| 50 +- .../RandomForestClassificationExample.java | 85 +- .../RandomForestRegressionExample.java | 99 +- .../ml/tutorial/Step_10_Scaling_With_Stacking.java |6 +- .../ml/tutorial/Step_1_Read_and_Learn.java | 11 +- .../examples/ml/tutorial/Step_2_Imputing.java |4 +- .../examples/ml/tutorial/Step_3_Categorial.java|4 +- .../Step_3_Categorial_with_One_Hot_Encoder.java|4 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java |4 +- .../examples/ml/tutorial/Step_5_Scaling.java |4 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java | 11 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java|4 +- .../ml/tutorial/Step_7_Split_train_test.java |4 +- .../ignite/examples/ml/tutorial/Step_8_CV.java |4 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java |4 +- .../Step_8_CV_with_Param_Grid_and_metrics.java | 11 +- ..._with_Param_Grid_and_metrics_and_pipeline.java} | 111 +- .../examples/ml/tutorial/Step_9_Go_to_LogReg.java |8 +- .../ignite/examples/ml/tutorial/TitanicUtils.java | 13 +- .../util/generators/DatasetCreationExamples.java | 34 +- .../ignite/examples
[ignite] branch ignite-9720 updated (5ef026f -> 1e142d8)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 5ef026f fix tests add 6e36f5c IGNITE-11569 Enable baseline auto-adjust by default only for empty cluster - Fixes #6305. add 770e2ba IGNITE-11574 Fix exchange on NodeLeft event hangs when cluster is in transition state - Fixes #6310. add e1ab893 IGNITE-11334: SQL: Deprecated SqlQuery in Java. This closes #6151. add 18af47d IGNITE-11681 Fix for three failed tests. (#6402) add 579036d IGNITE-10145: [ML] Implement ROC AUC metric (#6394) add 448f989 IGNITE-11672 Fix expected message in JdbcThinConnectionSelfTest.testInvalidEndpoint - Fixes #6396. add e228241 IGNITE-11673: SQL: It looks like security check is missed in h2 indexing. This closes #6390. add c32c7ac IGNITE-11632 Correctly handle crc errors in no archiver mode - Fixes #6345. add 0e6bcd3 IGNITE-9799 Web Console: Removed unused code. add 44b0522 IGNITE-9801 Web Console: Export button restyled. add 0d93a0b IGNITE-8368 Web Console: Refactored queries notebooks list. add 0af4fdf IGNITE-11182 Web console: Actualized cluster configuration. add 9180be9 IGNITE-11604: SQL: Fixed problem with DROP COLUMN which was not able remove a column properly in some cases. This closes #6399. add 89ba43f IGNITE-11604: SQL: Fixed problem with DROP COLUMN which was not able remove a column properly in some cases. This closes #6399. add 9c721f7 IGNITE-11283 Web console: Actualized cluster configuration. add b6a07f6 IGNITE-11284 Web console: Actualized cluster configuration. add f3e481f IGNITE-11354 Web console: Actualized cluster configuration. add 83c3703 IGNITE-11361 Web console: Actualized cluster configuration. add cf6ce6c IGNITE-11387 Web console: Actualized cluster configuration. add 5642ce6 IGNITE-11385 Web console: Actualized cluster configuration. add 8fc2693 IGNITE-11675: [ML] Create additional examples for linear regressions, knn and kmeans add b1729a2 IGNITE-11386 Web console: Actualized cluster configuration. add c2a5d45 IGNITE-11386 Fixed test. add b3c59b1 IGNITE-11588: Fixed C++ Query example, if run in cluster. add 6363aef IGNITE-11614 Fix transaction hang when sessionEnd throws an exception - Fixes #6401. add 82e6c27 IGNITE-11691 Fix IgniteWalSerializerVersionTest - Fixes #6416. add 9fb5e46 IGNITE-11525 .NET: Deprecate SqlQuery API (#6415) add 7be7492 IGNITE-11226: SQL: Refactored metadata retrieval to avoid exposing stateful H2 objects from indexing interface. This closes #6258. add 07c4b9b IGNITE-11625 Skip non-changed affinity optimization for starting caches - Fixes #6337. add 46592f4 IGNITE-11683 Thread from pool was replaced with new thread to avoid further deadlocks. - Fixes #6414. add 983843a IGNITE-835 Fix IgniteCache.lock for PARTITIONED cache without near cache - Fixes #6369. add 185035e IGNITE-11149 Update default value for IGNITE_DISABLE_WAL_DURING_REBALANCING in javadoc. - Fixes #6050. add f10177b IGNITE-11442: SQL: Moved system views from "IGNITE" to "SYS" schema. This is more consistent with another databases. Previous behavior can be returned with "-DIGNITE_SQL_SYSTEM_SCHEMA_NAME_IGNITE=true" system property. This closes #6395. add ce08060 IGNITE-11621 Fixed infinite 'no next node in topology' loop in case of connecting nodes - Fixes #6360. add 1272339 IGNITE-11640 Fix hang on node stop caused by an incomplete checkpoint future - Fixes #6355. add c23f6b0 IGNITE-11439: MVCC: Error in transaction mode validation. This closes #6397. add dce279b IGNITE-11460: MVCC: Possible race on coordinator changing on client reconnection. This closes #6211. add 6037a59 IGNITE-11460: MVCC: Possible race on coordinator changing on client reconnection. This closes #6211. add 0512e86 IGNITE-11710 Web Console: Exposed callback to ui-grid.api for manipulations with ui-grid. add d18f98e .NET: Improve assertion in DataRegionMetricsTest.TestMemoryMetrics add 1a7e62a IGNITE-8588 .NET: Improve serialization error message when derived type hides base type member add 438c9e1 IGNITE-11702 Awaiting PME in test. - Fixes #6425. add 656b2f1 IGNITE-11706 Avoided undetermined behaviour in test. - Fixes #6426. add a167a06 IGNITE-11684 Fix CacheSerializableTransactionsTest#testGetRemoveTxNearCache2 (and 1) is flaky - Fixes #6410. add 6808559 IGNITE-10069: SQL: Added test for implicit schema resolution. This closes #6424. add 47da5df IGNITE-10669 Properly handle free list corruption errors - Fixes #6207. add afe7933 IGNITE-10799 Optimize affinity recalculation in case of node join or leave - Fixes #6242. add 3f0e85f IGNITE-10896 Add ability to us
[ignite] 01/01: Merge remote-tracking branch 'remotes/origin/master' into ignite-9720
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 1e142d89b0e8a1172f9d01b741ece8815d887e2a Merge: 5ef026f b722305 Author: sboikov AuthorDate: Wed Apr 10 22:22:13 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-9720 .../datagrid/CacheClientBinaryQueryExample.java| 133 +- .../examples/datagrid/CacheQueryExample.java |3 +- .../starschema/CacheStarSchemaExample.java | 25 +- .../clustering/CustomersClusterizationExample.java | 140 + .../examples/ml/knn/IrisClassificationExample.java | 93 + .../linear/BostonHousePricesPredictionExample.java | 113 + .../examples/ml/tree/FraudDetectionExample.java| 125 + .../ignite/examples/sql/SqlQueriesExample.java | 29 +- .../internal/jdbc2/JdbcAbstractSchemaCaseTest.java |2 +- .../internal/jdbc2/JdbcMetadataSelfTest.java | 147 +- .../jdbc/thin/JdbcThinConnectionSelfTest.java |2 +- .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java | 103 +- .../main/java/org/apache/ignite/IgniteCache.java |2 - .../main/java/org/apache/ignite/IgniteCluster.java |6 + .../org/apache/ignite/IgniteSystemProperties.java |7 +- .../eviction/lru/LruEvictionPolicyFactory.java |1 - .../java/org/apache/ignite/cache/query/Query.java |2 - .../apache/ignite/cache/query/SqlFieldsQuery.java |3 +- .../org/apache/ignite/cache/query/SqlQuery.java|3 + .../java/org/apache/ignite/client/ClientCache.java |3 +- .../org/apache/ignite/internal/IgniteKernal.java | 10 +- .../cluster/DistributedBaselineConfiguration.java | 101 +- .../internal/cluster/IgniteClusterAsyncImpl.java |6 + .../ignite/internal/cluster/IgniteClusterImpl.java | 38 +- .../internal/commandline/CommandHandler.java | 36 +- .../internal/jdbc/thin/JdbcThinStatement.java |4 +- .../ignite/internal/jdbc2/JdbcConnection.java | 23 +- .../internal/jdbc2/JdbcPreparedStatement.java | 94 +- .../internal/jdbc2/JdbcResultSetMetadata.java | 25 +- .../ignite/internal/jdbc2/JdbcStatement.java | 18 + .../jdbc2/JdbcStreamedPreparedStatement.java |7 +- .../internal/managers/IgniteMBeansManager.java |9 +- .../processors/affinity/AffinityAssignment.java|5 + .../affinity/GridAffinityAssignment.java |5 + .../affinity/GridAffinityAssignmentCache.java | 126 +- .../affinity/GridAffinityAssignmentV2.java | 23 +- .../affinity/HistoryAffinityAssignmentImpl.java| 10 + .../HistoryAffinityAssignmentShallowCopy.java |5 + .../affinity/IdealAffinityAssignment.java | 148 + .../cache/CacheAffinitySharedManager.java | 362 ++- .../processors/cache/ExchangeDiscoveryEvents.java | 33 +- .../processors/cache/GridCacheAffinityManager.java |2 +- .../cache/GridCacheExplicitLockSpan.java | 31 +- .../processors/cache/GridCacheIoManager.java | 17 +- .../processors/cache/GridCacheMapEntry.java| 28 +- .../internal/processors/cache/GridCacheMvcc.java |2 +- .../cache/GridCachePartitionExchangeManager.java |4 +- .../processors/cache/GridCacheProcessor.java |2 +- .../dht/preloader/CacheGroupAffinityMessage.java |2 +- .../preloader/GridDhtPartitionsExchangeFuture.java |9 +- .../dht/topology/GridDhtPartitionTopologyImpl.java |2 +- .../topology/GridDhtPartitionsStateValidator.java |2 +- .../cache/distributed/near/GridNearTxLocal.java|3 +- .../processors/cache/mvcc/MvccProcessorImpl.java | 34 +- .../internal/processors/cache/mvcc/MvccUtils.java | 35 +- ...ion.java => CorruptedPersistenceException.java} | 20 +- .../GridCacheDatabaseSharedManager.java| 100 +- .../persistence/freelist/AbstractFreeList.java | 152 +- .../CorruptedFreeListException.java} | 10 +- .../persistence/tree/CorruptedTreeException.java |4 +- .../persistence/wal/FileWriteAheadLogManager.java | 70 +- .../cache/verify/IdleVerifyResultV2.java | 54 +- .../NoMatchingCachesException.java}| 20 +- .../verify/VerifyBackupPartitionsDumpTask.java | 38 + .../cache/verify/VerifyBackupPartitionsTaskV2.java | 191 +- ...Impl.java => BaselineAutoAdjustMXBeanImpl.java} | 23 +- .../processors/cluster/BaselineTopology.java |7 + .../processors/cluster/ClusterProcessor.java | 18 - .../cluster/GridClusterStateProcessor.java | 112 +- ...tatistic.java => BaselineAutoAdjustStatus.java} | 24 +- .../baseline/autoadjust/ChangeTopologyWatcher.java | 10 +- ...operty.java => DistributePropertyListener.java} | 22 +- .../distributed/DistributedBooleanProperty.java|9 +- .../distributed/DistributedComparableProperty.java |4 +- .../DistributedConfigurationPr
[ignite] branch ignite-9720 updated (55a6b2e -> 5ef026f)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 55a6b2e Merge remote-tracking branch 'origin/ignite-9720' into ignite-9720 add db38352 IGNITE-11654: [ML] Memory leak in KNNClassificationModel (#6392) add 003c41e IGNITE-11647: [ML] ML Vectors should work with all Serializable objects besides double add 3aa9167 IGNITE-11416 Added DistributedMetaStorage improvements - Fixes #6190. new c8cec92 Merge remote-tracking branch 'remotes/origin/master' into ignite-9720 new 5ef026f fix tests The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/ignite/internal/GridComponent.java | 9 +- .../org/apache/ignite/internal/IgniteFeatures.java | 6 +- .../preloader/GridDhtPartitionsExchangeFuture.java | 13 +- .../cache/persistence/GridCacheOffheapManager.java | 25 +- .../cache/persistence/LazyCacheFreeList.java | 28 +- .../cluster/GridClusterStateProcessor.java | 2 - .../ReadableDistributedMetaStorage.java| 47 +- .../persistence/DistributedMetaStorageBridge.java | 8 +- .../DistributedMetaStorageClusterNodeData.java | 26 +- .../DistributedMetaStorageHistoryCache.java| 228 +++ .../DistributedMetaStorageHistoryItem.java | 64 +- .../persistence/DistributedMetaStorageImpl.java| 753 ++--- .../DistributedMetaStorageJoiningNodeData.java | 16 +- ...ava => DistributedMetaStorageKeyValuePair.java} | 20 +- .../DistributedMetaStorageUpdateAckMessage.java| 5 - .../persistence/DistributedMetaStorageUtil.java| 24 +- .../persistence/DistributedMetaStorageVersion.java | 3 +- .../EmptyDistributedMetaStorageBridge.java | 10 +- ...InMemoryCachedDistributedMetaStorageBridge.java | 27 +- .../NotAvailableDistributedMetaStorageBridge.java | 8 +- .../ReadOnlyDistributedMetaStorageBridge.java | 107 +-- .../WritableDistributedMetaStorageBridge.java | 35 +- .../db/checkpoint/CheckpointFreeListTest.java | 20 +- .../DistributedMetaStoragePersistentTest.java | 94 ++- .../metastorage/DistributedMetaStorageTest.java| 111 ++- .../DistributedMetaStorageHistoryCacheTest.java| 227 +++ .../ignite/testsuites/IgniteBasicTestSuite.java| 2 + .../ignite/ml/clustering/kmeans/KMeansModel.java | 2 +- .../extractor/impl/BinaryObjectVectorizer.java | 9 +- .../java/org/apache/ignite/ml/inference/Model.java | 4 +- .../ignite/ml/knn/NNClassificationModel.java | 2 +- .../knn/classification/KNNClassificationModel.java | 15 + .../apache/ignite/ml/math/StorageOpsMetrics.java | 15 +- .../ml/math/primitives/matrix/AbstractMatrix.java | 10 - .../ignite/ml/math/primitives/matrix/Matrix.java | 5 + .../ml/math/primitives/matrix/MatrixStorage.java | 5 + .../math/primitives/matrix/impl/SparseMatrix.java | 2 +- .../matrix/storage/DenseMatrixStorage.java | 12 +- .../matrix/storage/SparseMatrixStorage.java| 12 +- .../matrix/storage/ViewMatrixStorage.java | 10 - .../ml/math/primitives/vector/AbstractVector.java | 78 ++- .../ignite/ml/math/primitives/vector/Vector.java | 59 +- .../ml/math/primitives/vector/VectorStorage.java | 27 +- .../ml/math/primitives/vector/VectorUtils.java | 5 +- .../primitives/vector/impl/DelegatingVector.java | 34 +- .../math/primitives/vector/impl/SparseVector.java | 11 +- .../vector/storage/DenseVectorStorage.java | 164 - .../vector/storage/SparseVectorStorage.java| 107 ++- .../vector/storage/VectorViewStorage.java | 25 +- .../storage/VectorizedViewMatrixStorage.java | 28 +- .../ignite/ml/nn/ReplicatedVectorMatrix.java | 28 +- .../ml/svm/SVMLinearClassificationTrainer.java | 10 +- .../ml/dataset/feature/ObjectHistogramTest.java| 4 +- .../java/org/apache/ignite/ml/math/BlasTest.java | 9 +- .../ignite/ml/math/MathImplLocalTestSuite.java | 4 + .../primitives/matrix/MatrixArrayStorageTest.java | 7 - .../primitives/matrix/MatrixAttributeTest.java | 9 +- .../matrix/MatrixViewConstructorTest.java | 2 - .../math/primitives/vector/AbstractVectorTest.java | 20 - .../vector/SparseVectorConstructorTest.java| 25 +- .../primitives/vector/VectorAttributesTest.java| 20 +- .../vector/VectorImplementationsFixtures.java | 4 +- .../vector/VectorImplementationsTest.java | 3 +- .../vector/storage/AbstractStorageTest.java| 147 .../vector/storage/DenseVectorStorageTest.java}| 44 +- .../vector/storage/SparseVectorStorageTest.java} | 31 +-
[ignite] 02/02: fix tests
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 5ef026f00d2b97d5c5cfc8ec9e0f1efd8b8077d8 Author: sboikov AuthorDate: Wed Apr 3 16:26:55 2019 +0300 fix tests --- .../cache/persistence/GridCacheOffheapManager.java | 25 --- .../cache/persistence/LazyCacheFreeList.java | 28 -- .../db/checkpoint/CheckpointFreeListTest.java | 20 ++-- 3 files changed, 56 insertions(+), 17 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java index 4db3a86..1c09f02 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java @@ -1550,10 +1550,29 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple RootPage reuseRoot = metas.reuseListRoot; freeList = new LazyCacheFreeList() { -@Override protected CacheFreeList createDelegate() throws IgniteCheckedException { -assert grp.shared().database().checkpointLockIsHeldByThread(); +@Override protected CacheFreeList createDelegate(boolean create) throws IgniteCheckedException { +boolean lock = false; + +try { +if (!create) { +if (reuseRoot.pageId().pageId() == 0L) +return null; + +assert !grp.shared().database().checkpointLockIsHeldByThread(); -return new PartitionCacheFreeList(grp, partId, reuseRoot); + grp.shared().database().checkpointReadLock(); + +lock = true; +} + +assert grp.shared().database().checkpointLockIsHeldByThread(); + +return new PartitionCacheFreeList(grp, partId, reuseRoot); +} +finally { +if (lock) + grp.shared().database().checkpointReadUnlock(); +} } }; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java index a337a26..9cdb573 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java @@ -55,28 +55,30 @@ public abstract class LazyCacheFreeList implements CacheFreeList { /** {@inheritDoc} */ @Override public void insertDataRow(CacheDataRow row, IoStatisticsHolder statHolder) throws IgniteCheckedException { -initDelegateIfNeeded().insertDataRow(row, statHolder); +initDelegateIfNeeded(true).insertDataRow(row, statHolder); } /** {@inheritDoc} */ @Override public boolean updateDataRow(long link, CacheDataRow row, IoStatisticsHolder statHolder) throws IgniteCheckedException { -return initDelegateIfNeeded().updateDataRow(link, row, statHolder); +return initDelegateIfNeeded(true).updateDataRow(link, row, statHolder); } /** {@inheritDoc} */ @Override public R updateDataRow(long link, PageHandler pageHnd, S arg, IoStatisticsHolder statHolder) throws IgniteCheckedException { -return (R)initDelegateIfNeeded().updateDataRow(link, pageHnd, arg, statHolder); +return (R)initDelegateIfNeeded(true).updateDataRow(link, pageHnd, arg, statHolder); } /** {@inheritDoc} */ @Override public void removeDataRowByLink(long link, IoStatisticsHolder statHolder) throws IgniteCheckedException { -initDelegateIfNeeded().removeDataRowByLink(link, statHolder); +initDelegateIfNeeded(true).removeDataRowByLink(link, statHolder); } /** {@inheritDoc} */ @Override public int emptyDataPages() { try { -return initDelegateIfNeeded().emptyDataPages(); +CacheFreeList freeList = initDelegateIfNeeded(false); + +return freeList != null ? freeList.emptyDataPages() : 0; } catch (IgniteCheckedException e) { throw new
[ignite] 01/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-9720
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit c8cec928384f29a5db12a5519de251ebada44844 Merge: 55a6b2e 3aa9167 Author: sboikov AuthorDate: Wed Apr 3 15:55:09 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-9720 .../org/apache/ignite/internal/GridComponent.java | 9 +- .../org/apache/ignite/internal/IgniteFeatures.java | 6 +- .../preloader/GridDhtPartitionsExchangeFuture.java | 13 +- .../cluster/GridClusterStateProcessor.java | 2 - .../ReadableDistributedMetaStorage.java| 47 +- .../persistence/DistributedMetaStorageBridge.java | 8 +- .../DistributedMetaStorageClusterNodeData.java | 26 +- .../DistributedMetaStorageHistoryCache.java| 228 +++ .../DistributedMetaStorageHistoryItem.java | 64 +- .../persistence/DistributedMetaStorageImpl.java| 753 ++--- .../DistributedMetaStorageJoiningNodeData.java | 16 +- ...ava => DistributedMetaStorageKeyValuePair.java} | 20 +- .../DistributedMetaStorageUpdateAckMessage.java| 5 - .../persistence/DistributedMetaStorageUtil.java| 24 +- .../persistence/DistributedMetaStorageVersion.java | 3 +- .../EmptyDistributedMetaStorageBridge.java | 10 +- ...InMemoryCachedDistributedMetaStorageBridge.java | 27 +- .../NotAvailableDistributedMetaStorageBridge.java | 8 +- .../ReadOnlyDistributedMetaStorageBridge.java | 107 +-- .../WritableDistributedMetaStorageBridge.java | 35 +- .../DistributedMetaStoragePersistentTest.java | 94 ++- .../metastorage/DistributedMetaStorageTest.java| 111 ++- .../DistributedMetaStorageHistoryCacheTest.java| 227 +++ .../ignite/testsuites/IgniteBasicTestSuite.java| 2 + .../ignite/ml/clustering/kmeans/KMeansModel.java | 2 +- .../extractor/impl/BinaryObjectVectorizer.java | 9 +- .../java/org/apache/ignite/ml/inference/Model.java | 4 +- .../ignite/ml/knn/NNClassificationModel.java | 2 +- .../knn/classification/KNNClassificationModel.java | 15 + .../apache/ignite/ml/math/StorageOpsMetrics.java | 15 +- .../ml/math/primitives/matrix/AbstractMatrix.java | 10 - .../ignite/ml/math/primitives/matrix/Matrix.java | 5 + .../ml/math/primitives/matrix/MatrixStorage.java | 5 + .../math/primitives/matrix/impl/SparseMatrix.java | 2 +- .../matrix/storage/DenseMatrixStorage.java | 12 +- .../matrix/storage/SparseMatrixStorage.java| 12 +- .../matrix/storage/ViewMatrixStorage.java | 10 - .../ml/math/primitives/vector/AbstractVector.java | 78 ++- .../ignite/ml/math/primitives/vector/Vector.java | 59 +- .../ml/math/primitives/vector/VectorStorage.java | 27 +- .../ml/math/primitives/vector/VectorUtils.java | 5 +- .../primitives/vector/impl/DelegatingVector.java | 34 +- .../math/primitives/vector/impl/SparseVector.java | 11 +- .../vector/storage/DenseVectorStorage.java | 164 - .../vector/storage/SparseVectorStorage.java| 107 ++- .../vector/storage/VectorViewStorage.java | 25 +- .../storage/VectorizedViewMatrixStorage.java | 28 +- .../ignite/ml/nn/ReplicatedVectorMatrix.java | 28 +- .../ml/svm/SVMLinearClassificationTrainer.java | 10 +- .../ml/dataset/feature/ObjectHistogramTest.java| 4 +- .../java/org/apache/ignite/ml/math/BlasTest.java | 9 +- .../ignite/ml/math/MathImplLocalTestSuite.java | 4 + .../primitives/matrix/MatrixArrayStorageTest.java | 7 - .../primitives/matrix/MatrixAttributeTest.java | 9 +- .../matrix/MatrixViewConstructorTest.java | 2 - .../math/primitives/vector/AbstractVectorTest.java | 20 - .../vector/SparseVectorConstructorTest.java| 25 +- .../primitives/vector/VectorAttributesTest.java| 20 +- .../vector/VectorImplementationsFixtures.java | 4 +- .../vector/VectorImplementationsTest.java | 3 +- .../vector/storage/AbstractStorageTest.java| 147 .../vector/storage/DenseVectorStorageTest.java | 61 ++ .../vector/storage/SparseVectorStorageTest.java} | 42 +- .../ignite/ml/xgboost/XGModelComposition.java | 6 +- 64 files changed, 2101 insertions(+), 786 deletions(-)
[ignite] 03/03: Merge remote-tracking branch 'origin/ignite-9720' into ignite-9720
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 55a6b2e1810d2f8cda504a208896ce989b8f7411 Merge: d429160 36ecd74 Author: sboikov AuthorDate: Wed Apr 3 10:01:42 2019 +0300 Merge remote-tracking branch 'origin/ignite-9720' into ignite-9720 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/LazyCacheFreeList.java .../processors/cache/persistence/GridCacheOffheapManager.java| 2 ++ .../internal/processors/cache/persistence/LazyCacheFreeList.java | 9 +++-- .../continuous/CacheContinuousQueryFailoverAbstractSelfTest.java | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-)
[ignite] branch ignite-9720 updated (36ecd74 -> 55a6b2e)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 36ecd74 Fixed compilation add 45226c3 IGNITE-11352 Fixed deserialization of CacheMetricsSnapshot - Fixes #6133. add c9993bb Formatting POM according to code style. add 275e740 IGNITE-11362 New protocol version is absent in baseline autoadjustment visor args - Fixes #6143. add fd821a3 IGNITE-11327 Web Console: Fixed error on progress line show/hide. add 81e5bee IGNITE-10873 CorruptedTreeException during simultaneous cache put operations - Fixes #6128. add c9a2737 IGNITE-10928 After huge load on cluster and restart with walCompactionEnabled=True errors on log - Fixes #6126. add f3b56f3 IGNITE-11344: Performance drop fix: ReentrantLock -> StripedLock. This closes #6150. add 8bce371 IGNITE-11344: Performance drop fix: ReentrantLock -> StripedLock. This closes #6150. add 5c94b77 IGNITE-11372: [ML] Fix javadoc in VectorWithDistributionId add 01e601d IGNITE-11058 Reduce the size of discovery pending message history - Fixes #6161. add 657b5d9 IGNITE-11255 Fixed failing tests caused by IGNITE-7648 - Fixes #6062. add 025562f IGNITE-10639 Docs update, style changes, and exceptions handling fixes (#6148) add 48be973 IGNITE-11189: Java 11 local build supported, profile Java9+ can be activated to build using newer JDKs add 5ca61ae IGNITE-11374 Web console: fix frontend dependency audit warnings (#6160) add 66f56d3 IGNITE-11388 Proper method implementation. - Fixes #6169. add 4d0515f IGNITE-10206: SQL: ability to configure query parallelism from DDL (CREATE TABLE). This closes #6080. add e26fd51 IGNITE-11366: Python thin client: add python examples in release build add 71ae9c0 IGNITE-11096 Web Agent: Implemented support for "--disable-demo". add b0bc736 IGNITE-11338 Web Console: Fixed edit mode of "list-editable" component. add 7723c42 IGNITE-10914 Web Console: Fixed missing unique index on Accounts. add 52983ce IGNITE-10890 Web Console: Removed legacy UI router events. add c873a38 IGNITE-11261: [ML] Flaky test(testNaiveBaggingLogRegression) add d42e875 IGNITE-11405: [ML] Fix typo in Javadoc of DelegatingNamedVector add 545a627 IGNITE-11374 Web Console: regenerated package-lock.json add fb52e5e IGNITE-11056: SQL: Added system view with indexes. This closes #5906. add af04149 IGNITE-6609: SQL: Consistent expiration handling for PK hash index. This closes #6158. add 111e472 IGNITE-11333: SQL: Removed H2 console support. This closes #6149. add 5a7372e IGNITE-11333: SQL: Removed H2 console support. add 4936285 Merge remote-tracking branch 'origin/master' add 0421c46 IGNITE-11171 Do not fail node when transaction is concurrently rolled back - Fixes #6057. add 9823b0e IGNITE-11332 Added ability to drop node from discovery through JMX - Fixes #6120. add 0282210 IGNITE-11050 Fixed potential deadlock due to DhtColocatedLockFuture#map being called inside topology read lock - Fixes #6015. add 780946e IGNITE-6578 IGNITE_DIAGNOSTIC_WARN_LIMIT to control number of messages waiting on PME - Fixes #6168. add c5b5be2 IGNITE-10903: [ML] Provide an example with training of regression model and its evaluation add fb898be IGNITE-10904: [ML] Refactor all examples with regression to use RegressionMetrics add 7c21098 IGNITE-11390 Fixed distributed metastorage start for an in-memory cluster - Fixes #6170. add 01f0e9e IGNITE-11236 Added distributed metastorage to the list of Ignite features - Fixes #6047. add 0274af8 IGNITE-6563 Implement GetSizeLong add dcd651e IGNITE-11436 Added module flags to sqlline.sh and .bat to support JDK 9+ - Fixes #6195. add 651fa78 IGNITE-11059 Print information about pending locks queue in case of dht local tx timeout. - Fixes #5935. add e237383 IGNITE-11262 Compression on Discovery data bag - Fixes #6125. add 51c34fc IGNITE-10925 Serialization compatibility fix for CacheMetricsSnapshot - Fixes #6201. add 12d72e7 IGNITE-10925 Avoid externalizing metrics since they are passed via discovery - Fixes #6167. add efc6b96 IGNITE-11396 Actualize JUnit3TestLegacyAssert (#6194) add ab01d51 IGNITE-11210: SQL: Merged DML and other command plans into a single cache. This closes #6200. add a5fe467 IGNITE-11195: C++ fix for Java 11 for Linux. add 1948ba8 Merge remote-tracking branch 'origin/master' add 96f71a4 IGNITE-11424: C++ network library included in release add 4ca2b1b IGNITE-11085: Exclude GridCachePartitionEvictionDuringReadThroughSelfTest from MVCC tests. This closes #6198. add 5ed019c IGNITE-11454 Fixed race in ClientImpl leading to client segmentation - Fixes #6204. add d
[ignite] 02/03: Merge remote-tracking branch 'remotes/origin/master' into ignite-9720
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-9720 in repository https://gitbox.apache.org/repos/asf/ignite.git commit d429160ccbba4857fd0b0ad952342d7128c885d6 Merge: 79610fe 4daa681 Author: sboikov AuthorDate: Wed Apr 3 10:00:18 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-9720 modules/cassandra/store/pom.xml| 12 + .../internal/client/thin/ReliableChannel.java | 25 +- .../cache/distributed/dht/CompoundLockFuture.java | 112 --- .../dht/GridDhtTxAbstractEnlistFuture.java | 8 +- .../dht/GridDhtTxQueryEnlistFuture.java| 2 +- .../near/GridNearTxAbstractEnlistFuture.java | 5 +- .../near/GridNearTxSelectForUpdateFuture.java | 462 .../distributed/near/TxTopologyVersionFuture.java | 176 - .../ignite/internal/util/HostAndPortRange.java | 3 + .../org/apache/ignite/client/ConnectionTest.java | 73 ++ .../cache/CacheGetRemoveSkipStoreTest.java | 4 +- .../processors/cache/CacheRemoveAllSelfTest.java | 4 +- .../cache/GridCacheVariableTopologySelfTest.java | 4 +- ...IgniteCacheInvokeReadThroughSingleNodeTest.java | 4 +- .../cache/IgniteCacheInvokeReadThroughTest.java| 4 +- .../IgniteCacheReadThroughEvictionSelfTest.java| 4 +- .../GridCacheMultiNodeLockAbstractTest.java| 4 +- .../GridCacheNodeFailureAbstractTest.java | 9 +- .../IgniteTxRemoveTimeoutObjectsTest.java | 4 +- .../near/GridCachePartitionedEventSelfTest.java| 4 +- .../transactions/TxRollbackAsyncNearCacheTest.java | 4 +- .../tcp/GridTcpCommunicationSpiLanLoadTest.java| 2 - .../spi/discovery/AbstractDiscoverySelfTest.java | 2 - .../testframework/junits/GridAbstractTest.java | 206 +++--- .../junits/JUnit3TestLegacySupport.java| 33 +- .../junits/common/GridCommonAbstractTest.java | 4 +- .../junits/spi/GridSpiAbstractTest.java| 12 +- .../util/mbeans/GridMBeanDisableSelfTest.java | 8 +- .../cache/query/GridCacheTwoStepQuery.java | 26 +- .../query/h2/DhtResultSetEnlistFuture.java | 63 -- .../processors/query/h2/H2FieldsIterator.java | 5 +- .../processors/query/h2/H2KeyValueIterator.java| 2 +- .../processors/query/h2/H2ResultSetIterator.java | 7 +- .../internal/processors/query/h2/H2Utils.java | 15 - .../processors/query/h2/IgniteH2Indexing.java | 472 ++-- .../query/h2/NearResultSetEnlistFuture.java| 59 -- .../internal/processors/query/h2/QueryParser.java | 82 ++- .../query/h2/QueryParserResultSelect.java | 61 +- .../processors/query/h2/ResultSetEnlistFuture.java | 136 .../processors/query/h2/dml/UpdatePlanBuilder.java | 12 +- .../query/h2/sql/GridSqlQueryParser.java | 55 +- .../query/h2/sql/GridSqlQuerySplitter.java | 84 ++- .../processors/query/h2/sql/GridSqlSelect.java | 24 + .../query/h2/twostep/GridMapQueryExecutor.java | 197 + .../query/h2/twostep/GridReduceQueryExecutor.java | 157 +--- .../query/h2/twostep/MapQueryResults.java | 15 +- .../query/h2/twostep/ReduceQueryRun.java | 14 - .../query/h2/twostep/ReduceResultPage.java | 20 +- .../org/apache/ignite/client/ClientTestSuite.java | 3 +- ...cheMvccPartitionedSelectForUpdateQueryTest.java | 47 -- ...acheMvccReplicatedSelectForUpdateQueryTest.java | 30 - .../CacheMvccSelectForUpdateQueryAbstractTest.java | 370 -- .../CacheMvccSelectForUpdateQueryBasicTest.java| 789 + .../mvcc/CacheMvccSelectForUpdateQueryTest.java| 184 + .../IgniteBinaryCacheQueryTestSuite2.java | 3 + .../testsuites/IgniteCacheMvccSqlTestSuite.java| 9 +- 56 files changed, 1720 insertions(+), 2415 deletions(-)
[ignite] branch ignite-invokeAll updated (d7389ae -> b60cf57)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. from d7389ae invokeAll add ab01d51 IGNITE-11210: SQL: Merged DML and other command plans into a single cache. This closes #6200. add a5fe467 IGNITE-11195: C++ fix for Java 11 for Linux. add 1948ba8 Merge remote-tracking branch 'origin/master' add 96f71a4 IGNITE-11424: C++ network library included in release add 4ca2b1b IGNITE-11085: Exclude GridCachePartitionEvictionDuringReadThroughSelfTest from MVCC tests. This closes #6198. add 5ed019c IGNITE-11454 Fixed race in ClientImpl leading to client segmentation - Fixes #6204. add d281fa4 IGNITE-11394 Fixed infinite 'no next node in topology' loop - Fixes #6182. add 6517ff2 IGNITE-11463: Fixed backward compatibility of ODBC add fefaf928 IGNITE-11461: updated git ignore for IDEA file based projects add b26bbb2 IGNITE-11322 [USABILITY] Extend Node FAILED message by add consistentId if it exist - Fixes #6180. add 6c562a9 IGNITE-11199 Add extra logging for client-server connections in TCP discovery - Fixes #6048. add 45c4dc9 IGNITE-10937: JDBC Thin Driver: add data page scan support. This closes #6114. add 7100b05 How To Document reference was added add 0f10617 IGNITE-11322 [USABILITY] Extend Node FAILED message by add consistentId if it exist - Fixes #6180. add 436d601 IGNITE-11199 Add extra logging for client-server connections in TCP discovery - Fixes #6048. add 094bddf IGNITE-11437 Start grid in remote JVM fails in test framework if TDE is enabled (#6202) add 70a4d69 Merge remote-tracking branch 'apache/master' add 30a4ac63 IGNITE-11462: Fix mvcc test GridCachePartitionedNearDisabledMvccTxMultiThreadedSelfTest. add 6008a0a IGNITE-9470: MVCC TX: Mvcc transactions should throw proper exception. This closes #6131. add 646e5f8 IGNITE-8178 ZookeeperDiscoverySpiTest#testReconnectServersRestart* tests fail on TC (#5755) add a8a3073 IGNITE-11430: SQL: Changed timestamp with TZ to simple timestamp for running queries SQL system view. This closes #6206. add 285be9a IGNITE-11446: SQL: Renamed CACHE_GROUPS_IO to LOCAL_CACHE_GROUPS_IO. This closes #6221. add 23afdde2 IGNITE-8420. Web console Restored muted tests. Deleted unused tests. add b77fd79 IGNITE-8420 Web console: Fixed test. add 5268718 IGNITE-11469: Automatic modules Support for Apache Ignite rest-http (#6228) add 51740f8 IGNITE-11364 failedNodes collection is cleaned up if received from failed node - Fixes #6215. add ff9431f IGNITE-9927: Fix flaky failures in CacheContinuousQueryOperationFromCallbackTest. This closes #5914. add b774826 IGNITE-10250 Fixed IgniteQueue hang caused by an incorrect CQ notification - Fixes #5456. add cfa12b1 IGNITE-10674 Remove MARSH_CLASS_NAME=BinaryMarshaller from tests. (#6205) add 3068fdc IGNITE-11500 Web Console: Create template for email. (#6244) add 9ce4a82 IGNITE-10561: MVCC: Fix MVCC cache rebalance. This closes #5799. add 2d7590d IGNITE-11152: IgniteTxManager.idMap possible memory leak. This closes #6220. add 051cc06 IGNITE-11497 Web console: Tuned "index.html" caching options. add 06c70c5 IGNITE-11506 Web console: Tweak CSS to show long user name. add 9dd4f75 WC-964 Web Console: Minor tweak of error message. add 455b56d IGNITE-11227: SQL: Decoupled query execution entry point from DML. This closes #6246. add 3e80ca4 IGNITE-10414: SQL: Fixed schema resolution for JDBC drivers. This closes #6088. add aaa37fc IGNITE-11227: SQL: Added missing security checks which were incorrectly removed in IGNITE-11227. add c2da3d5 IGNITE-11035 Updates in queries page - Fixes #6021. add 88d621a IGNITE-11496 Web Console: Long running SQL queries could be randomly canceled. add bb74ce0 IGNITE-10261: MVCC: cache operation may hang during late affinity assignment. This closes #5995. add 890d056 IGNITE-11519 Pack configuration tests in test-jar. (#6253) add df15ae1 IGNITE-11509 Remove DistributedBaselineConfiguration and replace to methods on IgniteCluster - Fixes #6250. add 84c4582 IGNITE-11469: Automatic modules Support for Apache Ignite rest-http: fix of NCDFE (#6256) add 3b2dada IGNITE-5250: SQL: disallow updates of composite key and value columns. This closes #6193. add e623f4f IGNITE-11532 Fix partition loss policy is not handled properly for implicit single key transactions - Fixes #6259. add 5ad4b94 IGNITE-11340: SQL: Fixed OOME suite tests. This closes #6231. add ec728ac IGNITE-11377 Display time to baseline auto-adjust event in console.sh - Fixes #6178. add 25818be IGNITE-10768: MVCC: CacheMvccBasicContinuousQueryTest.testUpdateCountersGapClosedSimplePartitioned may hang. T
[ignite] 01/02: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 5c691fd9949c63c20859b45b1f5a4dc28ad95d88 Merge: d7389ae 29b0526 Author: sboikov AuthorDate: Wed Mar 27 14:39:45 2019 +0300 invokeAll .gitignore |1 + CONTRIBUTING.md|2 +- assembly/docfiles/javadoc.css | 648 --- assembly/release-apache-ignite-base.xml| 18 +- bin/control.bat|2 +- bin/control.sh |2 +- bin/ignite-tf.sh |2 +- bin/ignite.bat |2 +- bin/ignite.sh | 14 +- bin/ignitevisorcmd.bat |2 +- bin/ignitevisorcmd.sh |2 +- examples/README.md |8 +- examples/pom-standalone-lgpl.xml | 44 + examples/pom-standalone.xml|1 - modules/clients/src/test/config/jdbc-config.xml|6 + .../internal/jdbc2/JdbcAbstractSchemaCaseTest.java | 228 .../internal/jdbc2/JdbcMetadataSelfTest.java |7 +- ...pCacheTest.java => JdbcSchemaCaseSelfTest.java} | 20 +- .../tcp/redis/RedisProtocolGetAllAsArrayTest.java | 17 +- .../ignite/jdbc/AbstractJdbcPojoQuerySelfTest.java | 12 - .../ignite/jdbc/JdbcErrorsAbstractSelfTest.java|2 +- .../jdbc/suite/IgniteJdbcDriverTestSuite.java | 11 +- .../ignite/jdbc/thin/JdbcThinAbstractSelfTest.java |2 +- .../thin/JdbcThinBulkLoadAbstractSelfTest.java |2 +- .../thin/JdbcThinDataPageScanPropertySelfTest.java | 222 .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java |9 +- .../jdbc/thin/JdbcThinSchemaCaseSelfTest.java} | 17 +- .../ignite/jdbc/thin/JdbcThinSchemaCaseTest.java | 114 -- .../thin/JdbcThinStreamingAbstractSelfTest.java| 22 +- .../thin/JdbcThinStreamingResetStreamTest.java | 142 +++ .../java/org/apache/ignite/DataRegionMetrics.java | 12 + .../apache/ignite/DataRegionMetricsProvider.java} | 29 +- .../main/java/org/apache/ignite/IgniteCluster.java | 29 +- .../apache/ignite/IgniteJdbcThinDataSource.java| 17 + .../org/apache/ignite/IgniteSystemProperties.java | 27 +- .../org/apache/ignite/internal/IgniteKernal.java |8 +- .../cluster/DistributedBaselineConfiguration.java |2 - .../internal/cluster/IgniteClusterAsyncImpl.java | 37 +- .../ignite/internal/cluster/IgniteClusterImpl.java | 75 +- .../ignite/internal/commandline/Arguments.java | 25 +- .../internal/commandline/CommandHandler.java | 407 ++- .../baseline/AutoAdjustCommandArg.java}| 35 +- .../commandline/baseline/BaselineArguments.java| 165 +++ .../commandline/baseline/BaselineCommand.java | 103 ++ .../internal/jdbc/thin/ConnectionProperties.java | 13 + .../jdbc/thin/ConnectionPropertiesImpl.java| 32 +- .../internal/jdbc/thin/JdbcThinConnection.java | 31 +- .../ignite/internal/jdbc/thin/JdbcThinTcpIo.java | 11 +- .../ignite/internal/jdbc/thin/JdbcThinUtils.java | 45 +- .../ignite/internal/jdbc2/JdbcConnection.java |2 +- .../apache/ignite/internal/jdbc2/JdbcUtils.java| 22 + .../processors/cache/CacheGroupContext.java|6 +- .../processors/cache/GridCacheAdapter.java | 26 +- .../processors/cache/GridCacheContext.java | 12 +- .../processors/cache/GridCacheEntryEx.java | 11 + .../processors/cache/GridCacheMapEntry.java| 205 ++-- .../internal/processors/cache/GridCacheMvcc.java |5 +- .../processors/cache/GridCacheMvccEntryInfo.java |9 + .../processors/cache/GridCacheProcessor.java | 55 +- .../processors/cache/GridCacheTtlManager.java | 47 +- .../cache/IgniteCacheOffheapManager.java | 55 +- .../cache/IgniteCacheOffheapManagerImpl.java | 399 +++ .../processors/cache/IgniteRebalanceIterator.java |6 + .../cache/binary/BinaryMetadataTransport.java | 28 +- .../binary/CacheObjectBinaryProcessorImpl.java | 67 +- .../distributed/GridDistributedCacheEntry.java |2 +- .../cache/distributed/dht/GridDhtGetFuture.java| 14 + .../distributed/dht/GridDhtGetSingleFuture.java| 14 + .../dht/GridDhtTxAbstractEnlistFuture.java | 29 +- .../distributed/dht/GridDhtTxPrepareFuture.java|3 +- .../dht/GridDhtTxQueryFirstEnlistRequest.java |1 + .../dht/GridPartitionedSingleGetFuture.java| 12 +- .../dht/preloader/GridDhtForceKeysFuture.java |2 + .../dht/preloader/GridDhtPartitionDemander.java| 262 - .../dht/preloader/GridDhtPartitionSupplier.java|
[ignite] 02/02: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit b60cf57b569382d17a45212a78bfd9cb5d1730fa Author: sboikov AuthorDate: Wed Mar 27 14:46:14 2019 +0300 invokeAll --- .../processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java | 1 - .../processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java| 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java index 734a322..a5a0e8c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java @@ -18,7 +18,6 @@ package org.apache.ignite.internal.processors.cache.distributed.dht.atomic; import java.util.ArrayList; -import java.util.BitSet; import java.util.Collection; import org.apache.ignite.internal.processors.cache.GridCacheReturn; import org.apache.ignite.internal.processors.cache.GridCacheUpdateAtomicResult; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 1fece64..394fbb9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -1981,8 +1981,7 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { List locked, GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res, -DhtAtomicUpdateResult dhtUpdRes -) +DhtAtomicUpdateResult dhtUpdRes) throws GridCacheEntryRemovedException { GridDhtPartitionTopology top = topology();
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new d7389ae invokeAll d7389ae is described below commit d7389ae54a8ea1c533ff2db73758bbad7a569ccd Author: sboikov AuthorDate: Fri Mar 1 15:22:38 2019 +0300 invokeAll --- .../dht/atomic/DhtAtomicUpdateResult.java | 27 --- .../distributed/dht/atomic/GridDhtAtomicCache.java | 200 - .../dht/atomic/GridDhtAtomicUpdateFuture.java | 2 +- 3 files changed, 115 insertions(+), 114 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java index 0aa1676..734a322 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/DhtAtomicUpdateResult.java @@ -51,9 +51,6 @@ class DhtAtomicUpdateResult { */ private int processedEntriesCount; -/** */ -private BitSet retryEntries; - /** * */ @@ -163,28 +160,4 @@ class DhtAtomicUpdateResult { public int processedEntriesCount() { return processedEntriesCount; } - -/** - * @param retryEntries Indexes of entries to retry update for. - */ -@Nullable public BitSet retryEntries() { -return retryEntries; -} - -/** - * @param retryEntries Indexes of entries to retry update for. - */ -public void retryEntries(@Nullable BitSet retryEntries) { -this.retryEntries = retryEntries; -} - -/** - * @param idx Entry index in updated request. - */ -public void addRetryEntry(int idx) { -if (retryEntries == null) -retryEntries = new BitSet(); - -retryEntries.set(idx, true); -} } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 1cd8e64..1fece64 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cache.distributed.dht.atomic; import java.io.Externalizable; import java.util.ArrayList; import java.util.Arrays; -import java.util.BitSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -28,7 +27,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeMap; import java.util.UUID; import javax.cache.expiry.ExpiryPolicy; import javax.cache.processor.EntryProcessor; @@ -1761,14 +1759,6 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { DhtAtomicUpdateResult updDhtRes = new DhtAtomicUpdateResult(); try { -boolean batchStoreUpdate = req.size() > 1 && // Several keys ... -writeThrough() && !req.skipStore() && // and store is enabled ... -!ctx.store().isLocal() && // and this is not local store (conflict resolver should be used for local store) -!ctx.dr().receiveEnabled(); // and no DR. - -Map> byPart = -batchStoreUpdate ? new HashMap<>() : null; - while (true) { try { GridDhtPartitionTopology top = topology(); @@ -1864,7 +1854,7 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { } } -update(node, locked, req, res, updDhtRes, byPart); +update(node, locked, req, res, updDhtRes); dhtFut = updDhtRes.dhtFuture(); deleted = updDhtRes.deleted(); @@ -1991,8 +1981,7 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { List locked, GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res, -DhtAtomicUpdateResult dhtUpdRes, -@Nullable Map> byPart +DhtAtomicUpdateResult dhtUpdRes ) throws GridCacheEntryRemovedException { @@ -2027,7 +2016,12 @@ public class
[ignite] branch ignite-invokeAll updated (613a4b0 -> 0529ee0)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. from 613a4b0 Merge branch 'data-load' into ignite-invokeAll new 2eddbf8 invokeAll add 74e5602 Code style & imports fix for NIO package add 263167a IGNITE-10561: REST: Memory policy metrics should be available via REST. This closes #5778. add 3a77531 IGNITE-1126 Fix of JVM Crashes on TeamCity, correctly cheking of stop in exchange future; added assertion for stopping of Page Memory. - Fixes #6092. add 62e9bc8 IGNITE-11310: SQL: Removed distirbuted joins from local segmented queries. This closes #6103. add c843b8f IGNITE-5569 Fix TCP Discovery SPI allows multiple NODE_JOINED / NODE_FAILED leading to a cluster DDoS - Fixes #6108. add 5e04dfd IGNITE-11318 Web Console: Added viewport meta tag for better rendering on mobiles and tablets. add 6b63556 IGNITE-9555 Web Console: Fixed handling of unexpected closed sockets. add 9860670 IGNITE-11279: SQL: Removed "prepared" from parser's cache. add 26577ee IGNITE-11177: SQL: Fixed time overflow for IGNITE.NODE_METRICS view. This closes #6044. add 3c4d48b IGNITE-11297 removed volatile from one time initialized variables - Fixes #6087. add 1619dd5 IGNITE-11326: SQL: Common parsing routine for all command types. This closes #6112. add 832f3a2 IGNITE-11216 Ignite.sh fails on Mac OS and Linux - Java 11 (#6095) add 6ab54b5 IGNITE-5983: REST: Memory policy metrics should be available via REST. add 6f909d3 IGNITE-11331: SQL: removed unnecessary parameters binding during parsing. This closes #6115. add e6a5690 IGNITE-9171: SQL: redesigned lazy mode. This closes #5473. add 7e6675d IGNITE-10898 Fixed exchange coordinator failover breaks in some cases when node filter is used - Fixed #6004. add 1df9b29 IGNITE-10547: [ML] Examples of GMM usage add 00701db IGNITE-11261: [ML] Flaky test(testNaiveBaggingLogRegression) add b62fc1e IGNITE-11012: [ML] Add model type validation during parsing json file add 11e2d3c IGNITE-11098 Web Console: Set font in a single place. Use inherited font everywhere. add 6db24b0 IGNITE-10546: [ML] GMM with adding and removal of components add 67432e1 IGNITE-10559: MVCC TX: Use extracted partitions to reduce target nodes for Query Update. This closes #5850. add 8e6de9b IGNITE-10739 Incorrect deprecation rolled back. add 37015ff IGNITE-10720 Save metadata outside of checkpoint write lock when possible - Fixes #5686. add 5b7a122 IGNITE-955 Local listener in continuous queries should not be mandatory (#5683) add 9a3de134 IGNITE-8571 Added Baseline auto-adjust feature - Fixes #5907. add a69e610 IGNITE-11214 Use discovery topology version when fetching affinity - Fixes #6033. add a66e679 IGNITE-11243 Fixed NPE when using control.sh script with an older node - Fixes #6118. add 1693f0e IGNITE-8575 Change Baseline auto-adjust parameters via console.sh add 0058d3f IGNITE-11313 Fix cluster hangs on cache invoke with binary objects creation - Fixes #6102. add cc36b88 IGNITE-11353 Web console: Fixed redirect to signin page from with status "403" page. add 1dbf57b IGNITE-11233 Fix for .NET build: Ignite Build for Java 11 does not reuse ignite-tools from Build Apache Ignite (Fixes #6127) add bc6dfe6 IGNITE-8571 Minor fix cleanup property afterTestsStopped add 22279ba IGNITE-11348 Fix ping node procedure may fail when another node leaves the cluster - Fixes #6124. add 481e5a5 IGNITE-10902: [ML] Implement a few regression metrics in one RegressionMetrics class add 45226c3 IGNITE-11352 Fixed deserialization of CacheMetricsSnapshot - Fixes #6133. add c9993bb Formatting POM according to code style. add 275e740 IGNITE-11362 New protocol version is absent in baseline autoadjustment visor args - Fixes #6143. add fd821a3 IGNITE-11327 Web Console: Fixed error on progress line show/hide. add 81e5bee IGNITE-10873 CorruptedTreeException during simultaneous cache put operations - Fixes #6128. add c9a2737 IGNITE-10928 After huge load on cluster and restart with walCompactionEnabled=True errors on log - Fixes #6126. add f3b56f3 IGNITE-11344: Performance drop fix: ReentrantLock -> StripedLock. This closes #6150. add 8bce371 IGNITE-11344: Performance drop fix: ReentrantLock -> StripedLock. This closes #6150. add 5c94b77 IGNITE-11372: [ML] Fix javadoc in VectorWithDistributionId add 01e601d IGNITE-11058 Reduce the size of discovery pending message history - Fixes #6161. add 657b5d9 IGNITE-11255 Fixed failing tests caused by IGNITE-7648 - Fixes #6062. add 025562f IGNITE-10639 Docs update, style changes, and exceptions handling fixes (#6148) add 48be97
[ignite] 02/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 0529ee08c70efe6da97ab3222de457a94791968d Merge: 2eddbf8 efc6b96 Author: sboikov AuthorDate: Fri Mar 1 12:39:18 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-invokeAll assembly/release-apache-ignite-base.xml| 5 + bin/control.sh |40 +- bin/ignite-tf.sh |24 +- bin/ignitevisorcmd.sh |12 +- bin/include/parseargs.sh | 2 +- .../ml/clustering/GmmClusterizationExample.java| 107 + .../spark/LogRegFromSparkThroughPMMLExample.java |15 +- .../modelparser/DecisionTreeFromSparkExample.java | 9 +- .../spark/modelparser/GBTFromSparkExample.java | 9 +- .../spark/modelparser/LogRegFromSparkExample.java | 9 +- .../modelparser/RandomForestFromSparkExample.java | 9 +- .../spark/modelparser/SVMFromSparkExample.java | 9 +- .../examples/ml/knn/KNNClassificationExample.java | 7 +- .../examples/ml/knn/KNNRegressionExample.java |59 +- .../DiscreteNaiveBayesTrainerExample.java | 7 +- .../GaussianNaiveBayesTrainerExample.java | 7 +- .../linear/LinearRegressionLSQRTrainerExample.java |35 +- ...gressionLSQRTrainerWithMinMaxScalerExample.java |33 +- .../linear/LinearRegressionSGDTrainerExample.java |39 +- .../BaggedLogisticRegressionSGDTrainerExample.java |11 +- .../LogisticRegressionSGDTrainerExample.java | 7 +- .../ml/selection/cv/CrossValidationExample.java|13 +- .../ml/selection/scoring/EvaluatorExample.java |11 +- .../selection/scoring/MultipleMetricsExample.java | 9 +- .../scoring/RegressionMetricExample.java} |66 +- .../ml/svm/SVMBinaryClassificationExample.java | 7 +- .../ml/tutorial/Step_10_Scaling_With_Stacking.java |11 +- .../ml/tutorial/Step_1_Read_and_Learn.java |11 +- .../examples/ml/tutorial/Step_2_Imputing.java |11 +- .../examples/ml/tutorial/Step_3_Categorial.java|11 +- .../Step_3_Categorial_with_One_Hot_Encoder.java|11 +- .../examples/ml/tutorial/Step_4_Add_age_fare.java |11 +- .../examples/ml/tutorial/Step_5_Scaling.java |11 +- .../ml/tutorial/Step_5_Scaling_with_Pipeline.java |11 +- .../ignite/examples/ml/tutorial/Step_6_KNN.java|11 +- .../ml/tutorial/Step_7_Split_train_test.java |11 +- .../ignite/examples/ml/tutorial/Step_8_CV.java |13 +- .../ml/tutorial/Step_8_CV_with_Param_Grid.java |13 +- .../Step_8_CV_with_Param_Grid_and_metrics.java |19 +- .../examples/ml/tutorial/Step_9_Go_to_LogReg.java |13 +- .../rest/JettyRestProcessorAbstractSelfTest.java |79 + ...stProcessorAuthenticationWithTokenSelfTest.java |34 +- .../rest/JettyRestProcessorBaselineSelfTest.java |10 + .../jdbc/thin/JdbcThinStatementCancelSelfTest.java | 4 +- .../org/apache/ignite/IgniteSystemProperties.java |28 +- .../ignite/cache/query/QueryRetryException.java} |24 +- .../apache/ignite/cache/query/SqlFieldsQuery.java | 8 +- .../ignite/configuration/IgniteConfiguration.java |77 - .../org/apache/ignite/internal/GridComponent.java | 3 + .../org/apache/ignite/internal/IgniteFeatures.java |28 +- .../org/apache/ignite/internal/IgniteKernal.java | 9 +- .../ignite/internal/MarshallerContextImpl.java |29 +- .../main/java/org/apache/ignite/internal/README.md |12 +- .../internal/UnregisteredBinaryTypeException.java |59 +- .../internal/binary/BinaryClassDescriptor.java | 8 +- .../ignite/internal/binary/BinaryContext.java |12 +- .../internal/binary/BinaryFieldAccessor.java | 6 +- .../binary/builder/BinaryObjectBuilderImpl.java| 2 +- .../internal/client/thin/TcpIgniteClient.java |15 +- .../cluster/DistributedBaselineConfiguration.java |76 +- .../ignite/internal/cluster/IgniteClusterImpl.java |21 +- .../ignite/internal/commandline/Command.java | 5 +- .../internal/commandline/CommandHandler.java | 124 +- .../optimized/OptimizedMarshallerUtils.java| 2 +- .../optimized/OptimizedObjectOutputStream.java | 2 +- .../pagemem/impl/PageMemoryNoStoreImpl.java|29 + .../processors/affinity/GridAffinityProcessor.java |70 +- .../cache/CacheAffinitySharedManager.java | 695 +- .../processors/cache/CacheGroupContext.java|27 +- .../processors/cache/CacheMetricsSnapshot.java |49 +- .../ClientCacheChangeDummyDiscoveryMessage.java| 6 +- .../internal/processors/cache/ExchangeContext.java | 4 +- .../processors/cache/GridCacheEventManager.java| 2
[ignite] 01/02: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 2eddbf817fcc7360e58857a81ff26968e1ee783e Author: sboikov AuthorDate: Fri Mar 1 12:30:05 2019 +0300 invokeAll --- .../cache/IgniteCacheOffheapManager.java | 5 +- .../cache/IgniteCacheOffheapManagerImpl.java | 31 ++- .../distributed/dht/atomic/GridDhtAtomicCache.java | 288 +++-- .../atomic/GridNearAtomicAbstractUpdateFuture.java | 2 + .../GridNearAtomicAbstractUpdateRequest.java | 5 + .../atomic/GridNearAtomicFullUpdateRequest.java| 63 + .../dht/atomic/GridNearAtomicUpdateFuture.java | 2 + .../cache/persistence/GridCacheOffheapManager.java | 3 +- .../processors/cache/tree/CacheDataTree.java | 2 +- 9 files changed, 310 insertions(+), 91 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 9455c2a..d187444 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -38,6 +38,7 @@ import org.apache.ignite.internal.processors.cache.persistence.partstate.GroupPa import org.apache.ignite.internal.processors.cache.persistence.partstate.PartitionRecoverState; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseList; import org.apache.ignite.internal.processors.cache.tree.PendingEntriesTree; +import org.apache.ignite.internal.processors.cache.tree.SearchRowEx; import org.apache.ignite.internal.processors.cache.tree.mvcc.data.MvccUpdateResult; import org.apache.ignite.internal.processors.cache.tree.mvcc.search.MvccLinkAwareSearchRow; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; @@ -152,6 +153,8 @@ public interface IgniteCacheOffheapManager { */ public CacheDataStore dataStore(GridDhtLocalPartition part); +public Comparator updateKeysComparator(); + /** * @param store Data store. * @throws IgniteCheckedException If failed. @@ -900,7 +903,7 @@ public interface IgniteCacheOffheapManager { * @return Cache search row. * @throws IgniteCheckedException If failed. */ -public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key, Object data) throws IgniteCheckedException; +public SearchRowEx createSearchRow(GridCacheContext cctx, KeyCacheObject key, Object data) throws IgniteCheckedException; /** * @return Rows comparator. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 0a621dc..a69157e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -188,6 +188,28 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager /** */ protected GridStripedLock partStoreLock = new GridStripedLock(Runtime.getRuntime().availableProcessors()); +/** */ +private final Comparator updateKeysCmp = new Comparator() { +@Override public int compare(KeyCacheObject key1, KeyCacheObject key2) { +try { +int cmp = Integer.compare(key1.partition(), key2.partition()); + +if (cmp != 0) +return cmp; + +cmp = Integer.compare(key1.hashCode(), key2.hashCode()); + +if (cmp != 0) +return cmp; + +return CacheDataTree.compareKeyBytes(key1.valueBytes(grp.cacheObjectContext()), key2.valueBytes(grp.cacheObjectContext())); +} +catch (IgniteCheckedException e) { +throw new IgniteException(e); +} +}; +}; + /** {@inheritDoc} */ @Override public GridAtomicLong globalRemoveId() { return globalRmvId; @@ -405,6 +427,11 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager return store == null ? 0 : store.cacheSize(cacheId); } +/** {@inheritDoc} */ +@Override public Comparator updateKeysComparator() { +return updateKeysCmp; +} + /** * @param primary Primary data flag. * @param backup Primary data flag. @@ -1652,10 +1679,10 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager } /** {@inheritDoc
[ignite] 07/11: refactor
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 7eed161402c2ccad0e2842811592fa5977d5991e Author: Sergi Vladykin AuthorDate: Sun Feb 24 18:57:10 2019 +0300 refactor --- .../cache/persistence/tree/BPlusTree.java | 46 +- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index 3d6adf2..37d7f68 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -3092,7 +3092,7 @@ public abstract class BPlusTree extends DataStructure implements // We should not touch the root to avoid contention on it, thus it is good idea to have it < rootLvl. gettingHighLvl = retryJustHappened ? lvl + 1 : // If the retry just happened, then we may guess that the tree was not changed much. -(lvl + rootLvl) >>> 1; // Middle point between the root and the current level. +guessHighLevel(lvl); // TODO Maybe we can have a better heuristic? } @@ -3104,6 +3104,39 @@ public abstract class BPlusTree extends DataStructure implements } /** + * @param lvl Current level. + * @return Some level between the current and root. + */ +private int guessHighLevel(int lvl) { +// Middle point between the root and the current level. +return (lvl + rootLvl) >>> 1; +} + +/** + * @param lvl Current level. + * @param io Page IO. + * @param pageAddr Page address. + * @param cnt Row count. + * @return {@code true} If we need to get higher, {@code false} if we are high enough. + * @throws IgniteCheckedException If failed. + */ +private boolean jumpHigher(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { +assert lvl >= Math.abs(gettingHighLvl); // We should not get here until we are high enough. + +// If it is a routing page or the search row is out of bounds for this page, need to get higher. +if (cnt == 0 || compare(lvl, io, pageAddr, cnt - 1, row) < 0) { +// Jump higher: avoid moving page by page. +gettingHighLvl = guessHighLevel(lvl); + +return true; +} + +// Starting from this point we are high enough to have valid search. +gettingHigh = false; +return false; +} + +/** * @param lvl Level. * @param io Page IO. * @param pageAddr Page address. @@ -3114,14 +3147,9 @@ public abstract class BPlusTree extends DataStructure implements final int findInsertionPointx(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { -if (gettingHigh) { -assert lvl >= Math.abs(gettingHighLvl); // We should not get here until we are high enough. - -// If it is a routing page or the search row is out of bounds for this page, need to get higher. -if (cnt == 0 || compare(lvl, io, pageAddr, cnt - 1, row) < 0) -return Integer.MIN_VALUE; // Will be ignored, we will get higher because gettingHigh flag was not reset. - -gettingHigh = false; // Starting from this point we are high enough to have valid search. +if (gettingHigh && jumpHigher(lvl, io, pageAddr, cnt)) { +// The result will be ignored, we will get higher because gettingHigh flag was not reset. +return Integer.MIN_VALUE; } int idx = findInsertionPoint(lvl, io, pageAddr, 0, cnt, row, shift);
[ignite] 11/11: Merge branch 'data-load' into ignite-invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 613a4b009cc0729da19fa473c8de1862e78e7d7e Merge: fc3b142 d945a5c Author: sboikov AuthorDate: Tue Feb 26 15:12:17 2019 +0300 Merge branch 'data-load' into ignite-invokeAll .../cache/persistence/tree/BPlusTree.java | 293 - .../persistence/tree/reuse/LongListReuseBag.java | 21 ++ .../cache/persistence/tree/reuse/ReuseBag.java | 8 + .../persistence/tree/reuse/SinglePageReuseBag.java | 9 + .../apache/ignite/internal/util/GridLongList.java | 2 +- .../database/BPlusTreeReuseSelfTest.java | 2 + 6 files changed, 267 insertions(+), 68 deletions(-) diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index d794840,99efaff..bb52347 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@@ -4035,10 -4177,10 +4177,10 @@@ public abstract class BPlusTree sortedRows; /** */ -Function> closures; +Function> closures; /** */ - ReuseBag reuseBag; + ReuseBag reuseBag = new LongListReuseBag(); /** * @param firstRow The first row.
[ignite] 04/11: simplified the code and fixed routing pages handling
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 596f31af64c26c3ab4808219205e1d3691753071 Author: Sergi Vladykin AuthorDate: Sun Feb 24 16:35:03 2019 +0300 simplified the code and fixed routing pages handling --- .../cache/persistence/tree/BPlusTree.java | 70 +++--- 1 file changed, 20 insertions(+), 50 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index 2eba7cc..e4fa862 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -3026,18 +3026,6 @@ public abstract class BPlusTree extends DataStructure implements } /** - * If we are not on the right edge of the page or there are no forward pages, - * then we are high enough to have valid search from here. - * - * @param idx Insertion point. - * @param cnt Row count. - * @return {@code true} If this search result is always valid and can be used. - */ -private boolean isValidSearch(int idx, int cnt) { -return -idx - 1 != cnt || fwdId == 0L; -} - -/** * Marks level to get high with the next row after the current row will be processed. * * @param lvl Current level. @@ -3049,6 +3037,16 @@ public abstract class BPlusTree extends DataStructure implements */ private void markHighLevelForNextRow(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { +// This flag must always be reset at this point: +// it makes no sense to mark levels for the next rows while we are getting high. +assert !gettingHigh; + +// For empty pages we do nothing: if we finalize the level we may miss better opportunities lower, +// on the other hand, no need to mark this level because it is just an empty routing page - we will +// waste resources on locking and reading it when we will get high. +if (cnt == 0) +return; + // If the high level is finalized we do not need to mark lower levels. if (gettingHighLvl < 0 && lvl < -gettingHighLvl) return; @@ -3056,9 +3054,12 @@ public abstract class BPlusTree extends DataStructure implements // Compare the next row with the rightmost row in the page (the next search row must always be greater than the current one). // Mark the level if the rightmost row is greater or equal to the next search row. // For all the rightmost pages with no forwards (including the root page) we always will have valid search. +// For empty pages we have to finalize if (fwdId == 0L || compare(io, pageAddr, cnt - 1, nextRow) >= 0) gettingHighLvl = lvl; else { +// TODO may be compare to currently found insertion point instead of the rightmost row in the page?? + // Because we unfinalize it after each switch to the next row. assert gettingHighLvl >= 0: gettingHighLvl + " " + lvl; @@ -3095,52 +3096,21 @@ public abstract class BPlusTree extends DataStructure implements */ final int findInsertionPointx(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { -int idx; if (gettingHigh) { assert lvl >= Math.abs(gettingHighLvl); // We should not get here until we are high enough. -idx = findInsertionPointStartingFromRight(row, lvl, io, pageAddr, cnt); +// If it is a routing page or the search row is out of bounds for this page, need to get higher. +if (cnt == 0 || compare(lvl, io, pageAddr, cnt - 1, row) < 0) +return Integer.MIN_VALUE; // Will be ignored, will get higher because gettingHigh flag was not reset. -if (isValidSearch(idx, cnt)) -gettingHigh = false; +gettingHigh = false; // Starting from this point we are high enough to have valid search. } -else -idx = findInsertionPoint(lvl, io, pageAddr, 0, cnt, row, shift); - -if (nextRow != null && !gettingHigh) -markHighLevelForNextRow(lvl, io, pageAddr, cnt); - -return idx; -} - -/** - * Like usual {@link #findInsertionPoint} but starting with
[ignite] 09/11: Revert "simplify reuse bag"
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 2c05b9bee976438a9163f8cf7c5a6ca44a0d68f4 Author: Sergi Vladykin AuthorDate: Mon Feb 25 09:15:16 2019 +0300 Revert "simplify reuse bag" This reverts commit 00ce2f97 --- .../internal/processors/cache/persistence/tree/reuse/ReuseBag.java | 5 + .../processors/cache/persistence/tree/reuse/SinglePageReuseBag.java | 5 + 2 files changed, 10 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java index 7ea44e4b..5d4579d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java @@ -36,4 +36,9 @@ public interface ReuseBag { * @return {@code true} if no contained page IDs for reuse. */ boolean isEmpty(); + +/** + * @return Number of pages for reuse in this bag. + */ +int size(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java index 0059f13..16a3868 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java @@ -62,6 +62,11 @@ public final class SinglePageReuseBag implements ReuseBag { } /** {@inheritDoc} */ +@Override public int size() { +return pageId == 0L ? 0 : 1; +} + +/** {@inheritDoc} */ @Override public String toString() { return S.toString(SinglePageReuseBag.class, this, "pageId", U.hexLong(pageId)); }
[ignite] 08/11: simplify reuse bag
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 00ce2f97ac053646843b22517186445f4c7e68e6 Author: Sergi Vladykin AuthorDate: Mon Feb 25 09:13:22 2019 +0300 simplify reuse bag --- .../internal/processors/cache/persistence/tree/reuse/ReuseBag.java | 5 - .../processors/cache/persistence/tree/reuse/SinglePageReuseBag.java | 5 - 2 files changed, 10 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java index 5d4579d..7ea44e4b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/ReuseBag.java @@ -36,9 +36,4 @@ public interface ReuseBag { * @return {@code true} if no contained page IDs for reuse. */ boolean isEmpty(); - -/** - * @return Number of pages for reuse in this bag. - */ -int size(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java index 16a3868..0059f13 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/reuse/SinglePageReuseBag.java @@ -62,11 +62,6 @@ public final class SinglePageReuseBag implements ReuseBag { } /** {@inheritDoc} */ -@Override public int size() { -return pageId == 0L ? 0 : 1; -} - -/** {@inheritDoc} */ @Override public String toString() { return S.toString(SinglePageReuseBag.class, this, "pageId", U.hexLong(pageId)); }
[ignite] 10/11: reuse
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit d945a5cef04c1be25858a6444edb21607a085e92 Author: Sergi Vladykin AuthorDate: Mon Feb 25 11:05:47 2019 +0300 reuse --- .../cache/persistence/tree/BPlusTree.java | 31 -- .../persistence/tree/reuse/LongListReuseBag.java | 21 +++ .../cache/persistence/tree/reuse/ReuseBag.java | 8 ++ .../persistence/tree/reuse/SinglePageReuseBag.java | 9 +++ .../apache/ignite/internal/util/GridLongList.java | 2 +- 5 files changed, 62 insertions(+), 9 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index 37d7f68..99efaff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -2957,7 +2957,7 @@ public abstract class BPlusTree extends DataStructure implements * @return The same or new reuse bag containing the given page id. */ protected final ReuseBag addFreePageToBag(ReuseBag reuseBag, long pageId) throws IgniteCheckedException { -if (invoke != null && invoke.addFreePage(pageId)) +if (invoke != null && invoke.addFreePageForReuse(pageId)) return reuseBag; assert pageId != 0L; @@ -3984,7 +3984,9 @@ public abstract class BPlusTree extends DataStructure implements */ private L insertWithSplit(long pageId, long page, long pageAddr, BPlusIO io, int idx, int lvl) throws IgniteCheckedException { -long fwdId = allocatePage(null); +ReuseBag bag = invoke == null ? null : invoke.getReuseBag(); + +long fwdId = allocatePage(bag); long fwdPage = acquirePage(fwdId); try { @@ -4032,7 +4034,7 @@ public abstract class BPlusTree extends DataStructure implements } if (!hadFwd && lvl == getRootLevel()) { // We are splitting root. -long newRootId = allocatePage(null); +long newRootId = allocatePage(bag); long newRootPage = acquirePage(newRootId); try { @@ -4178,7 +4180,7 @@ public abstract class BPlusTree extends DataStructure implements Function> closures; /** */ -ReuseBag reuseBag; +ReuseBag reuseBag = new LongListReuseBag(); /** * @param firstRow The first row. @@ -4200,7 +4202,8 @@ public abstract class BPlusTree extends DataStructure implements if (!doSwitchToNextRow(res, sortedRows)) return false; -reuseFreePagesFromBag(reuseBag, 15); +if (reuseBag.size() > 128) +reuseFreePagesFromBag(reuseBag.take(64), 0); // Create a new closure for the switched row. clo = closures.apply(row); @@ -4214,13 +4217,18 @@ public abstract class BPlusTree extends DataStructure implements } /** {@inheritDoc} */ -@Override boolean addFreePage(long pageId) throws IgniteCheckedException { +@Override boolean addFreePageForReuse(long pageId) throws IgniteCheckedException { reuseBag = addFreePageToBag(reuseBag, pageId); return true; } /** {@inheritDoc} */ +@Override public ReuseBag getReuseBag() { +return reuseBag; +} + +/** {@inheritDoc} */ @Override void releaseAll() throws IgniteCheckedException { super.releaseAll(); @@ -4522,9 +4530,16 @@ public abstract class BPlusTree extends DataStructure implements * @param pageId Page Id for reuse. * @return {@code true} If it was accepted. */ -boolean addFreePage(long pageId) throws IgniteCheckedException { +boolean addFreePageForReuse(long pageId) throws IgniteCheckedException { return false; } + +/** + * @return Reuse bag for this operation. + */ +ReuseBag getReuseBag() { +return null; +} } /** @@ -4555,7 +4570,7 @@ public abstract class BPlusTree extends DataStructure implements if (!doSwitchToNextRow(res, sortedRows)) return false; -reuseFreePagesFromBag(reuseBag, 15); +reuseFreePagesFromBag(reuseBag, 16); // Reset state. rmvdRow = null; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/r
[ignite] 02/11: nextRow field
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 6d8f53b31dbef26636da42804cfb6e0cfe1c2787 Author: Sergi Vladykin AuthorDate: Fri Feb 22 21:26:33 2019 +0300 nextRow field --- .../cache/persistence/tree/BPlusTree.java | 44 +- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index a02df7d..f911280 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -2895,6 +2895,9 @@ public abstract class BPlusTree extends DataStructure implements */ boolean gettingHigh; +/** Used in batch operations like {@link InvokeAll}. */ +L nextRow; + /** * @param row Row. * @param findLast find last row. @@ -2908,6 +2911,18 @@ public abstract class BPlusTree extends DataStructure implements this.findLast = findLast; } +/** + * @param sortedRows Sorted rows. + */ +final void takeNextRow(Iterator sortedRows) { +if (sortedRows.hasNext()) { +nextRow = sortedRows.next(); +assert nextRow != null; +} +else +nextRow = null; +} + @SuppressWarnings({"unchecked", "WrapperTypeMayBePrimitive"}) protected final T convertOldRow(boolean needOld, T oldRow) { if (needOld) @@ -2952,10 +2967,14 @@ public abstract class BPlusTree extends DataStructure implements * @param sortedRows Sorted rows. * @return {@code true} If was successfully switched to the next row. */ -protected final boolean doNextRow(Result res, Iterator sortedRows) { -if (res.retry || !isFinished() || !sortedRows.hasNext()) +protected final boolean doSwitchToNextRow(Result res, Iterator sortedRows) { +if (nextRow == null || res.retry || !isFinished()) return false; +// Switch to the next row. +row = nextRow; +takeNextRow(sortedRows); + // Well need to get high enough to start new search. assert !gettingHigh; gettingHigh = true; @@ -2963,9 +2982,6 @@ public abstract class BPlusTree extends DataStructure implements // Reinitialize state to continue working with the next row. lockRetriesCnt = getLockRetries(); -row = sortedRows.next(); -assert row != null; - return true; } @@ -3002,7 +3018,7 @@ public abstract class BPlusTree extends DataStructure implements * @param cnt Row count. * @return Insertion point. */ -private int findInsertionPointGettingHigh(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { +protected final int findInsertionPointGettingHigh(int lvl, BPlusIO io, long pageAddr, int cnt) throws IgniteCheckedException { int idx; if (cnt == 0) @@ -3224,11 +3240,13 @@ public abstract class BPlusTree extends DataStructure implements this.sortedRows = sortedRows; foundRows = new ArrayList<>(); + +takeNextRow(sortedRows); } /** {@inheritDoc} */ @Override boolean switchToNextRow(Result res) { -if (!doNextRow(res, sortedRows)) +if (!doSwitchToNextRow(res, sortedRows)) return false; // Reset state. @@ -3656,11 +3674,13 @@ public abstract class BPlusTree extends DataStructure implements this.sortedRows = sortedRows; oldRows = new ArrayList<>(); + +takeNextRow(sortedRows); } /** {@inheritDoc} */ @Override boolean switchToNextRow(Result res) { -if (!doNextRow(res, sortedRows)) +if (!doSwitchToNextRow(res, sortedRows)) return false; // Reset state. @@ -4051,11 +4071,13 @@ public abstract class BPlusTree extends DataStructure implements this.sortedRows = sortedRows; this.closures = closures; + +takeNextRow(sortedRows); } /** {@inheritDoc} */ @Override boolean switchToNextRow(Result res) throws IgniteCheckedException { -if (!doNextRow(res, sortedRows)) +if (!doSwitchToNextRow(res, sortedRows)) return false; reuseFreePagesFromBag(reuseBag, 15)
[ignite] 06/11: fixed concurrent tests
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 8e87906346f26825a053bbfba69c0164b5bdda12 Author: Sergi Vladykin AuthorDate: Sun Feb 24 17:51:00 2019 +0300 fixed concurrent tests --- .../cache/persistence/tree/BPlusTree.java | 43 -- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index 8d484ca..3d6adf2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -3047,9 +3047,23 @@ public abstract class BPlusTree extends DataStructure implements if (cnt == 0) return; -// If the high level is finalized we do not need to mark lower levels. -if (gettingHighLvl < 0 && lvl < -gettingHighLvl) -return; +boolean retryJustHappened = false; + +// Handle finalized high level. +if (gettingHighLvl < 0) { +// Do not need to mark levels lower than the finalized high level: +// we already know that the next row is in another subtree. +if (lvl < -gettingHighLvl) +return; + +// We unfinalize the high level after each switch to the next row, +// so we can not get finalized high level from the previous processed row. +// The current level is higher or equal to the finalized high level, +// thus we have a RETRY (not RETRY_ROOT, because it resets gettingHighLvl field to rootLvl). +// Unfinalize the high level to handle the new tree state. +retryJustHappened = true; +gettingHighLvl = -gettingHighLvl; +} // Compare the next row with the rightmost row in the page (the next search row must always be greater than the current one). // Mark the level if the rightmost row is greater or equal to the next search row. @@ -3058,29 +3072,34 @@ public abstract class BPlusTree extends DataStructure implements if (fwdId == 0L || compare(io, pageAddr, cnt - 1, nextRow) >= 0) gettingHighLvl = lvl; else { -// Because we unfinalize it after each switch to the next row. -assert gettingHighLvl >= 0: gettingHighLvl + " " + lvl; +assert gettingHighLvl >= 0; // If the marked high level is lower then the current level, it means that we jumped high after -// processing previous rows and comparing here the new next row for the first time. We have already -// compared this new next row to the page bound and it known to be greater, it means that +// processing previous rows and comparing here the new next row for the first time. +// Or otherwise it was a concurrent tree modification that caused the retry in this thread. +// +// We have already compared this new next row to the page bound and it known to be greater, it means that // the correct high level for the new next row is even higher than the current level and we do not know -// exactly where it is. Thus, we just guess it is somewhere between lvl and rootLvl. +// exactly where it is. We can only guess it is somewhere between lvl and rootLvl. +// // We do not want to mark high levels for more than one next row because in presence of // concurrent modifications these levels often will be wrong, producing pointless extra work, // there also will be space overhead of storing them. if (gettingHighLvl <= lvl) { assert rootLvl > lvl; // Because otherwise we must be in the root here and must end up marking level in prev branch. -// Heuristic to guess level for the next row. -gettingHighLvl = (lvl + rootLvl) >>> 1; +// Heuristic to guess the high level for the next row. +// We should not touch the root to avoid contention on it, thus it is good idea to have it < rootLvl. +gettingHighLvl = retryJustHappened ? +lvl + 1 : // If the retry just happened, then we may guess that the tree was not changed much. +(lvl + rootLvl) >&
[ignite] branch ignite-invokeAll updated (fc3b142 -> 613a4b0)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. from fc3b142 invokeAll new 1435c5b switchToNextRow new 6d8f53b nextRow field new 6cb4837 fixing concurrent issues new 596f31a simplified the code and fixed routing pages handling new 5368c25 minor new 8e87906 fixed concurrent tests new 7eed161 refactor new 00ce2f9 simplify reuse bag new 2c05b9b Revert "simplify reuse bag" new d945a5c reuse new 613a4b0 Merge branch 'data-load' into ignite-invokeAll The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../cache/persistence/tree/BPlusTree.java | 293 - .../persistence/tree/reuse/LongListReuseBag.java | 21 ++ .../cache/persistence/tree/reuse/ReuseBag.java | 8 + .../persistence/tree/reuse/SinglePageReuseBag.java | 9 + .../apache/ignite/internal/util/GridLongList.java | 2 +- .../database/BPlusTreeReuseSelfTest.java | 2 + 6 files changed, 267 insertions(+), 68 deletions(-)
[ignite] 03/11: fixing concurrent issues
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 6cb48373558061ecfa6a5a7657c55ce9aca614c6 Author: Sergi Vladykin AuthorDate: Sun Feb 24 16:00:37 2019 +0300 fixing concurrent issues --- .../cache/persistence/tree/BPlusTree.java | 137 ++--- .../database/BPlusTreeReuseSelfTest.java | 2 + 2 files changed, 123 insertions(+), 16 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index f911280..2eba7cc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -1322,6 +1322,9 @@ public abstract class BPlusTree extends DataStructure implements try { for (;;) { +if (g.needGetHigher(lvl)) +return RETRY; + g.checkLockRetry(); // Init args. @@ -1928,6 +1931,9 @@ public abstract class BPlusTree extends DataStructure implements Result res = RETRY; for (;;) { +if (x.needGetHigher(lvl)) +return RETRY; + if (res == RETRY) x.checkLockRetry(); @@ -2098,6 +2104,9 @@ public abstract class BPlusTree extends DataStructure implements try { for (;;) { +if (r.needGetHigher(lvl)) +return RETRY; + r.checkLockRetry(); // Init args. @@ -2593,7 +2602,7 @@ public abstract class BPlusTree extends DataStructure implements /** * @param pageId Page ID. * @param page Page pointer. - * @param pageAddr Page address + * @param pageAddr Page address. * @param io IO. * @param fwdId Forward page ID. * @param fwdBuf Forward buffer. @@ -2630,7 +2639,7 @@ public abstract class BPlusTree extends DataStructure implements /** * @param pageId Page ID. * @param page Page pointer. - * @param pageAddr Page address + * @param pageAddr Page address. * @param walPlc Full page WAL record policy. */ private void writeUnlockAndClose(long pageId, long page, long pageAddr, Boolean walPlc) { @@ -2669,6 +2678,9 @@ public abstract class BPlusTree extends DataStructure implements try { for (;;) { +if (p.needGetHigher(lvl)) +return RETRY; + p.checkLockRetry(); // Init args. @@ -2890,11 +2902,16 @@ public abstract class BPlusTree extends DataStructure implements int lockRetriesCnt = getLockRetries(); /** - * Used when invokeAll operation updated one or more keys on the left side of the tree + * Used when {@link InvokeAll} or another batch operation updated one or more keys on the left side of the tree * and needs to get high enough to find the rest of rows on the right side. */ boolean gettingHigh; +/** + * Used in batch operations like {@link InvokeAll}: + */ +int gettingHighLvl; + /** Used in batch operations like {@link InvokeAll}. */ L nextRow; @@ -2979,6 +2996,9 @@ public abstract class BPlusTree extends DataStructure implements assert !gettingHigh; gettingHigh = true; +if (gettingHighLvl < 0) // Unfinalize high level. +gettingHighLvl = -gettingHighLvl; + // Reinitialize state to continue working with the next row. lockRetriesCnt = getLockRetries(); @@ -2996,6 +3016,76 @@ public abstract class BPlusTree extends DataStructure implements } /** + * Check for batch operations needed after switching to the next row. + * + * @param lvl Current level. + * @return {@code true} If need to get higher. + */ +final boolean needGetHigher(int lvl) { +return gettingHigh && lvl < Math.abs(gettingHighLvl); +} + +/** + * If we are not on the right edge of the page or there are no forward pages, + * then we are high enough to have valid search from here. + * + * @param idx Insertion point. + * @param cnt Row count. + * @return {@code true} If this search result is always valid and can be used. + */ +private boolean isValidSearch(int idx, int cnt) { +return -idx - 1 != cnt || fwdId == 0L; +} + +/** + * Marks level to get high with the next row after t
[ignite] 05/11: minor
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 5368c2505ee4e3ac6a7aca89f7fd721bb0d1a55b Author: Sergi Vladykin AuthorDate: Sun Feb 24 16:37:53 2019 +0300 minor --- .../ignite/internal/processors/cache/persistence/tree/BPlusTree.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index e4fa862..8d484ca 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -3058,8 +3058,6 @@ public abstract class BPlusTree extends DataStructure implements if (fwdId == 0L || compare(io, pageAddr, cnt - 1, nextRow) >= 0) gettingHighLvl = lvl; else { -// TODO may be compare to currently found insertion point instead of the rightmost row in the page?? - // Because we unfinalize it after each switch to the next row. assert gettingHighLvl >= 0: gettingHighLvl + " " + lvl; @@ -3102,7 +3100,7 @@ public abstract class BPlusTree extends DataStructure implements // If it is a routing page or the search row is out of bounds for this page, need to get higher. if (cnt == 0 || compare(lvl, io, pageAddr, cnt - 1, row) < 0) -return Integer.MIN_VALUE; // Will be ignored, will get higher because gettingHigh flag was not reset. +return Integer.MIN_VALUE; // Will be ignored, we will get higher because gettingHigh flag was not reset. gettingHigh = false; // Starting from this point we are high enough to have valid search. }
[ignite] 01/11: switchToNextRow
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git commit 1435c5bcdff4ae2c424e7ad02c14195133f7c6dd Author: Sergi Vladykin AuthorDate: Fri Feb 22 20:49:35 2019 +0300 switchToNextRow --- .../cache/persistence/tree/BPlusTree.java | 44 +++--- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index 63a3d2c..a02df7d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -1301,7 +1301,7 @@ public abstract class BPlusTree extends DataStructure implements Result res = findDown(g, g.rootId, 0L, g.rootLvl); -if (!res.retry && !g.nextRow(res)) +if (!res.retry && !g.switchToNextRow(res)) return; checkInterrupted(); @@ -1354,7 +1354,7 @@ public abstract class BPlusTree extends DataStructure implements case FOUND: g.finish(); -if (g.nextRow(res)) +if (g.switchToNextRow(res)) continue; // Intentional fallthrough. @@ -1884,7 +1884,7 @@ public abstract class BPlusTree extends DataStructure implements assert x.isFinished(): res; } -if (x.nextRow(FOUND)) +if (x.switchToNextRow(FOUND)) continue; return; @@ -1960,7 +1960,7 @@ public abstract class BPlusTree extends DataStructure implements if (res != RETRY) res = invokeDown(x, x.pageId, x.backId, x.fwdId, lvl - 1); -if (x.nextRow(res)) +if (x.switchToNextRow(res)) continue; if (res == RETRY_ROOT || x.isFinished()) @@ -1980,7 +1980,7 @@ public abstract class BPlusTree extends DataStructure implements res = x.finishOrLockTail(pageId, page, backId, fwdId, lvl); -if (x.nextRow(res)) +if (x.switchToNextRow(res)) continue; return res; @@ -1991,7 +1991,7 @@ public abstract class BPlusTree extends DataStructure implements res = x.onNotFound(pageId, page, fwdId, lvl); -if (x.nextRow(res)) +if (x.switchToNextRow(res)) continue; return res; @@ -2002,7 +2002,7 @@ public abstract class BPlusTree extends DataStructure implements res = x.onFound(pageId, page, backId, fwdId, lvl); -if (x.nextRow(res)) +if (x.switchToNextRow(res)) continue; return res; @@ -2059,7 +2059,7 @@ public abstract class BPlusTree extends DataStructure implements assert r.isFinished(); } -if (r.nextRow(FOUND)) +if (r.switchToNextRow(FOUND)) continue; return r.rmvdRow; @@ -2126,7 +2126,7 @@ public abstract class BPlusTree extends DataStructure implements case GO_DOWN: res = removeDown(r, r.pageId, r.backId, r.fwdId, lvl - 1); -if (r.nextRow(res)) +if (r.switchToNextRow(res)) continue; if (res == RETRY) { @@ -2140,7 +2140,7 @@ public abstract class BPlusTree extends DataStructure implements res = r.finishOrLockTail(pageId, page, backId, fwdId, lvl); -if (r.nextRow(res)) +if (r.switchToNextRow(res)) continue; return res; @@ -2151,7 +2151,7 @@ public abstract class BPlusTree extends DataStructure implements r.finish(); -if (r.nextRow(res)) +if (r.switchToNextRow(res)) continue; return res; @@ -2159,7 +2159,7 @@ public abstract class BPlusTree extends DataStructure implements case FOUND: res = r.t
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new fc3b142 invokeAll fc3b142 is described below commit fc3b14227acdbef8dbeee799a1d430b81b352a8c Author: sboikov AuthorDate: Mon Feb 25 19:41:10 2019 +0300 invokeAll --- .../processors/cache/GridCacheEntryEx.java | 13 +- .../processors/cache/GridCacheMapEntry.java| 120 +-- .../distributed/dht/atomic/GridDhtAtomicCache.java | 389 ++--- .../distributed/near/GridNearAtomicCache.java | 81 +++-- .../processors/cache/GridCacheTestEntryEx.java | 19 +- 5 files changed, 248 insertions(+), 374 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index b93e7f8..85ec6a5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@ -551,28 +551,17 @@ public interface GridCacheEntryEx { */ public GridCacheUpdateAtomicResult innerUpdate( @Nullable GridCacheMapEntry.AtomicCacheUpdateClosure c, -GridCacheVersion ver, +boolean updateOffheap, UUID evtNodeId, UUID affNodeId, GridCacheOperation op, @Nullable Object val, -@Nullable Object[] invokeArgs, -boolean writeThrough, -boolean readThrough, boolean retval, -boolean keepBinary, -@Nullable IgniteCacheExpiryPolicy expiryPlc, boolean evt, boolean metrics, boolean primary, -boolean checkVer, AffinityTopologyVersion topVer, -@Nullable CacheEntryPredicate[] filter, GridDrType drType, -long conflictTtl, -long conflictExpireTime, -@Nullable GridCacheVersion conflictVer, -boolean conflictResolve, boolean intercept, @Nullable UUID subjId, String taskName, diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index acd4349..c326924 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -2207,28 +2207,17 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme @SuppressWarnings("unchecked") @Override public GridCacheUpdateAtomicResult innerUpdate( AtomicCacheUpdateClosure c, -final GridCacheVersion newVer, +boolean updateStore, final UUID evtNodeId, final UUID affNodeId, final GridCacheOperation op, @Nullable final Object writeObj, -@Nullable final Object[] invokeArgs, -final boolean writeThrough, -final boolean readThrough, final boolean retval, -final boolean keepBinary, -@Nullable final IgniteCacheExpiryPolicy expiryPlc, final boolean evt, final boolean metrics, final boolean primary, -final boolean verCheck, final AffinityTopologyVersion topVer, -@Nullable final CacheEntryPredicate[] filter, final GridDrType drType, -final long explicitTtl, -final long explicitExpireTime, -@Nullable final GridCacheVersion conflictVer, -final boolean conflictResolve, final boolean intercept, @Nullable final UUID subjId, final String taskName, @@ -2255,35 +2244,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme Map lsnrs = cctx.continuousQueries().updateListeners(internal, false); boolean needVal = lsnrs != null || intercept || retval || op == GridCacheOperation.TRANSFORM -|| !F.isEmptyOrNulls(filter); - -// Possibly read value from store. -boolean readFromStore = readThrough && needVal && (cctx.readThrough() && -(op == GridCacheOperation.TRANSFORM || cctx.loadPreviousValue())); - -if (c == null) { -c = new AtomicCacheUpdateClosure(this, -topVer, -newVer, -op, -writeObj, -invokeArgs, -readFromStore, -writeThrough, -keepBinary, -expiryPlc, -primary, -ver
[ignite] branch ignite-invokeAll-backup deleted (was 068a40f)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll-backup in repository https://gitbox.apache.org/repos/asf/ignite.git. was 068a40f invokeAll This change permanently discards the following revisions: discard 068a40f invokeAll discard f37831b invokeAll
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new b0992b3 invokeAll b0992b3 is described below commit b0992b3e103c5ffd9d323126dd132ebced27d97e Author: sboikov AuthorDate: Mon Feb 25 17:32:35 2019 +0300 invokeAll --- .../processors/cache/GridCacheMapEntry.java| 11 +- .../cache/IgniteCacheOffheapManager.java | 7 +- .../cache/IgniteCacheOffheapManagerImpl.java | 27 +- .../distributed/dht/atomic/GridDhtAtomicCache.java | 759 ++--- .../cache/persistence/GridCacheOffheapManager.java | 9 +- .../cache/persistence/tree/BPlusTree.java | 6 +- .../processors/cache/tree/SearchRowEx.java | 45 ++ 7 files changed, 596 insertions(+), 268 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 23b14b6..acd4349 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -2239,7 +2239,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme ) throws IgniteCheckedException, GridCacheEntryRemovedException, GridClosureException { assert cctx.atomic() && !detached(); -if (!primary && !isNear()) +if (!primary && !isNear() && c == null) ensureFreeSpace(); if (!primary) { @@ -5903,7 +5903,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme private boolean wasIntercepted; /** */ -AtomicCacheUpdateClosure( +public AtomicCacheUpdateClosure( GridCacheMapEntry entry, AffinityTopologyVersion topVer, GridCacheVersion newVer, @@ -5960,6 +5960,13 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } +/** + * @return Update result. + */ +public GridCacheUpdateAtomicResult updateResult() { +return updateRes; +} + /** {@inheritDoc} */ @Nullable @Override public CacheDataRow oldRow() { return oldRow; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 870d99f..9455c2a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.function.Function; import javax.cache.Cache; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; @@ -200,7 +201,7 @@ public interface IgniteCacheOffheapManager { public void invokeAll(GridCacheContext cctx, GridDhtLocalPartition part, Collection rows, -Map map) +Function closures) throws IgniteCheckedException; /** @@ -899,7 +900,7 @@ public interface IgniteCacheOffheapManager { * @return Cache search row. * @throws IgniteCheckedException If failed. */ -public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException; +public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key, Object data) throws IgniteCheckedException; /** * @return Rows comparator. @@ -915,7 +916,7 @@ public interface IgniteCacheOffheapManager { */ public void invokeAll(GridCacheContext cctx, Collection rows, -Map map) +Function closures) throws IgniteCheckedException; /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 3ae5b81..0a621dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concu
[ignite] branch ignite-invokeAll-backup updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll-backup in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll-backup by this push: new 068a40f invokeAll 068a40f is described below commit 068a40f430cee7c4fd16eae02731d5fc1c3b2ce5 Author: sboikov AuthorDate: Sun Feb 24 20:38:51 2019 +0300 invokeAll --- .../processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index cf23e25..c24a91f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -3600,11 +3600,11 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { try { List> locked = new ArrayList<>(batchSize); -SearchRowEx prev = null; +while (true) { +SearchRowEx prev = null; -GridDhtLocalPartition part = null; +GridDhtLocalPartition part = null; -while (true) { for (int i = 0; i < batchSize; i++) { int idx = batchStart + i;
[ignite] 01/01: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll-backup in repository https://gitbox.apache.org/repos/asf/ignite.git commit f37831b307cfc890bb5dc374c0023ccac7be76af Author: sboikov AuthorDate: Sun Feb 24 14:09:23 2019 +0300 invokeAll --- .../processors/cache/GridCacheMapEntry.java| 11 +- .../cache/IgniteCacheOffheapManager.java | 7 +- .../cache/IgniteCacheOffheapManagerImpl.java | 27 +- .../distributed/dht/atomic/GridDhtAtomicCache.java | 762 ++--- .../cache/persistence/GridCacheOffheapManager.java | 9 +- .../cache/persistence/tree/BPlusTree.java | 6 +- .../processors/cache/tree/SearchRowEx.java | 45 ++ 7 files changed, 599 insertions(+), 268 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 23b14b6..acd4349 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -2239,7 +2239,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme ) throws IgniteCheckedException, GridCacheEntryRemovedException, GridClosureException { assert cctx.atomic() && !detached(); -if (!primary && !isNear()) +if (!primary && !isNear() && c == null) ensureFreeSpace(); if (!primary) { @@ -5903,7 +5903,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme private boolean wasIntercepted; /** */ -AtomicCacheUpdateClosure( +public AtomicCacheUpdateClosure( GridCacheMapEntry entry, AffinityTopologyVersion topVer, GridCacheVersion newVer, @@ -5960,6 +5960,13 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } +/** + * @return Update result. + */ +public GridCacheUpdateAtomicResult updateResult() { +return updateRes; +} + /** {@inheritDoc} */ @Nullable @Override public CacheDataRow oldRow() { return oldRow; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 870d99f..9455c2a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.function.Function; import javax.cache.Cache; import javax.cache.processor.EntryProcessor; import org.apache.ignite.IgniteCheckedException; @@ -200,7 +201,7 @@ public interface IgniteCacheOffheapManager { public void invokeAll(GridCacheContext cctx, GridDhtLocalPartition part, Collection rows, -Map map) +Function closures) throws IgniteCheckedException; /** @@ -899,7 +900,7 @@ public interface IgniteCacheOffheapManager { * @return Cache search row. * @throws IgniteCheckedException If failed. */ -public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException; +public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key, Object data) throws IgniteCheckedException; /** * @return Rows comparator. @@ -915,7 +916,7 @@ public interface IgniteCacheOffheapManager { */ public void invokeAll(GridCacheContext cctx, Collection rows, -Map map) +Function closures) throws IgniteCheckedException; /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index 3ae5b81..0a621dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; i
[ignite] branch ignite-invokeAll-backup created (now f37831b)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll-backup in repository https://gitbox.apache.org/repos/asf/ignite.git. at f37831b invokeAll This branch includes the following new commits: new f37831b invokeAll The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new e3ec453 invokeAll e3ec453 is described below commit e3ec453d3907e7a9ce9d12dc0ac3f4af8725f390 Author: sboikov AuthorDate: Fri Feb 22 16:40:09 2019 +0300 invokeAll --- .../internal/processors/cache/IgniteCacheOffheapManager.java | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 7822319..870d99f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -190,6 +190,13 @@ public interface IgniteCacheOffheapManager { public void invoke(GridCacheContext cctx, KeyCacheObject key, GridDhtLocalPartition part, OffheapInvokeClosure c) throws IgniteCheckedException; +/** + * @param cctx Cache context. + * @param part Partition. + * @param rows Rows to update sorted according to cache tree sort order. + * @param map Update closures map. + * @throws IgniteCheckedException If failed. + */ public void invokeAll(GridCacheContext cctx, GridDhtLocalPartition part, Collection rows, @@ -902,7 +909,7 @@ public interface IgniteCacheOffheapManager { /** * @param cctx Cache context. - * @param rows Rows sorted according to cache tree sort order.. + * @param rows Rows sorted according to cache tree sort order. * @param map Update closures map. * @throws IgniteCheckedException If failed. */
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new 4d21df0 invokeAll 4d21df0 is described below commit 4d21df03398dfffde29ae6e666b07113c3fd2999 Author: sboikov AuthorDate: Fri Feb 22 07:37:43 2019 +0300 invokeAll --- .../cache/distributed/dht/atomic/GridDhtAtomicCache.java | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 550af11..329165a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -2555,8 +2555,7 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { GridDrType drType = replicate ? DR_PRIMARY : DR_NONE; -// FIXME size > 1. -if (req.size() >= 1) { +if (req.size() > 1) { Map lsnrs = ctx.continuousQueries().updateListeners(!ctx.userCache(), false); boolean needVal = lsnrs != null || intercept || retval || op == GridCacheOperation.TRANSFORM || @@ -2980,8 +2979,8 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { int cnt = entries.size(); -// FIXME cnt > 1. -Map> byPart = cnt >= 1 ? new HashMap<>() : null; +Map> byPart = +cnt > 1 ? new HashMap<>() : null; // Avoid iterator creation. for (int i = 0; i < cnt; i++) {
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new f3f270c invokeAll f3f270c is described below commit f3f270c75eb6ef6d34fd47f58ed119e44c5a38aa Author: sboikov AuthorDate: Thu Feb 21 22:07:00 2019 +0300 invokeAll --- .../distributed/dht/atomic/NearCacheUpdates.java | 25 ++ .../distributed/near/GridNearAtomicCache.java | 11 -- .../apache/ignite/internal/util/GridLongList.java | 10 + 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java index fe7e5d1..b698531 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java @@ -98,28 +98,35 @@ public class NearCacheUpdates implements Message { */ void addNearTtl(int keyIdx, long ttl, long expireTime) { if (ttl >= 0) { -if (nearTtls == null) { +if (nearTtls == null) nearTtls = new GridLongList(16); -for (int i = 0; i < keyIdx; i++) -nearTtls.add(-1L); -} +for (int i = nearTtls.size(); i < keyIdx; i++) +nearTtls.add(-1L); } -if (nearTtls != null) -nearTtls.add(ttl); +if (nearTtls != null) { +if (keyIdx < nearTtls.size()) +nearTtls.set(keyIdx, ttl); +else +nearTtls.add(ttl); +} if (expireTime >= 0) { if (nearExpireTimes == null) { nearExpireTimes = new GridLongList(16); -for (int i = 0; i < keyIdx; i++) +for (int i = nearExpireTimes.size(); i < keyIdx; i++) nearExpireTimes.add(-1); } } -if (nearExpireTimes != null) -nearExpireTimes.add(expireTime); +if (nearExpireTimes != null) { +if (keyIdx < nearExpireTimes.size()) +nearExpireTimes.set(keyIdx, expireTime); +else +nearExpireTimes.add(expireTime); +} } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java index 833401b..a908afa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java @@ -170,14 +170,8 @@ public class GridNearAtomicCache extends GridNearCacheAdapter { int nearValIdx = nearValsIdxs != null ? nearValsIdxs.indexOf(i) : -1; -long ttl = -1; -long expireTime = -1; - -if (nearValIdx >= 0) { +if (nearValIdx >= 0) val = res.nearValue(nearValIdx); -ttl = res.nearTtl(nearValIdx); -expireTime = res.nearExpireTime(nearValIdx); -} else { assert req.operation() != TRANSFORM; @@ -185,6 +179,9 @@ public class GridNearAtomicCache extends GridNearCacheAdapter { val = req.value(i); } +long ttl = res.nearTtl(i); +long expireTime = res.nearExpireTime(i); + if (ttl != CU.TTL_NOT_CHANGED && expireTime == CU.EXPIRE_TIME_CALCULATE) expireTime = CU.toExpireTime(ttl); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLongList.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLongList.java index 1c022b0..d91a6bb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridLongList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridLongList.java @@ -259,6 +259,16 @@ public class GridLongList implements Message, Externalizable { } /** + * @param i Index. + * @param val Value. + */ +public void set(int i, long val) { +assert i < idx; + +arr[i] = val; +} + +/** * @return Size. */ public int size() {
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new 62648b3 invokeAll 62648b3 is described below commit 62648b32ec6e2cbb39167bc6711f7de2c4560fc0 Author: sboikov AuthorDate: Thu Feb 21 06:06:44 2019 +0300 invokeAll --- .../processors/cache/GridCacheEntryEx.java | 2 + .../processors/cache/GridCacheMapEntry.java| 630 ++--- .../cache/IgniteCacheOffheapManagerImpl.java | 21 +- .../cache/distributed/dht/GridDhtCacheEntry.java | 2 +- .../dht/atomic/DhtAtomicUpdateResult.java | 34 +- .../distributed/dht/atomic/GridDhtAtomicCache.java | 565 +++--- .../distributed/near/GridNearAtomicCache.java | 18 +- .../processors/cache/tree/CacheDataTree.java | 5 + .../processors/cache/GridCacheTestEntryEx.java | 1 + ...eCacheAtomicWithStoreNearEnabledInvokeTest.java | 30 + .../ignite/testsuites/IgniteCacheTestSuite.java| 2 + 11 files changed, 752 insertions(+), 558 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 7b6ab9e..b93e7f8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@ -512,6 +512,7 @@ public interface GridCacheEntryEx { ) throws IgniteCheckedException, GridCacheEntryRemovedException; /** + * @param c Update closure. * @param ver Cache version to set. Entry will be updated only if current version is less then passed version. * @param evtNodeId Event node ID. * @param affNodeId Affinity node ID. @@ -549,6 +550,7 @@ public interface GridCacheEntryEx { * @throws GridCacheEntryRemovedException If entry is obsolete. */ public GridCacheUpdateAtomicResult innerUpdate( +@Nullable GridCacheMapEntry.AtomicCacheUpdateClosure c, GridCacheVersion ver, UUID evtNodeId, UUID affNodeId, diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 5124e6d..23b14b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -385,7 +385,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme /** * @return Local partition that owns this entry. */ -public GridDhtLocalPartition localPartition() { +protected GridDhtLocalPartition localPartition() { return null; } @@ -2203,21 +2203,32 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme invokeRes); } -public GridCacheUpdateAtomicResult finishInnerUpdate( +/** {@inheritDoc} */ +@SuppressWarnings("unchecked") +@Override public GridCacheUpdateAtomicResult innerUpdate( AtomicCacheUpdateClosure c, -Map lsnrs, -boolean needVal, +final GridCacheVersion newVer, final UUID evtNodeId, final UUID affNodeId, final GridCacheOperation op, @Nullable final Object writeObj, @Nullable final Object[] invokeArgs, +final boolean writeThrough, +final boolean readThrough, final boolean retval, +final boolean keepBinary, +@Nullable final IgniteCacheExpiryPolicy expiryPlc, final boolean evt, final boolean metrics, final boolean primary, +final boolean verCheck, final AffinityTopologyVersion topVer, +@Nullable final CacheEntryPredicate[] filter, final GridDrType drType, +final long explicitTtl, +final long explicitExpireTime, +@Nullable final GridCacheVersion conflictVer, +final boolean conflictResolve, final boolean intercept, @Nullable final UUID subjId, final String taskName, @@ -2225,160 +2236,158 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme @Nullable final Long updateCntr, @Nullable final GridDhtAtomicAbstractUpdateFuture fut, boolean transformOp -) throws GridCacheEntryRemovedException, IgniteCheckedException -{ -assert lock.isHeldByCurrentThread(); - -boolean internal = !cctx.userCache(); - -GridCacheUpdateAtomicResult updateRes = c.updateRes; +) throws IgniteChecke
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new 84b431c invokeAll 84b431c is described below commit 84b431c25ba2e7168f0bc2d4eedaf259e09db564 Author: sboikov AuthorDate: Wed Feb 20 09:23:19 2019 +0300 invokeAll --- .../distributed/dht/atomic/GridDhtAtomicCache.java | 27 ++ .../processors/cache/tree/CacheDataTree.java | 5 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 9c8ae3e..5f694be 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -2663,7 +2663,6 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { c.rdrs, c.reqIdx, updRes, -dhtFut, affAssignment, sndPrevVal); } @@ -2733,7 +2732,6 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { readers, i, updRes, -dhtFut, affAssignment, sndPrevVal); } @@ -2756,11 +2754,12 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { GridDhtCacheEntry.ReaderId[] readers, int idx, GridCacheUpdateAtomicResult updRes, -GridDhtAtomicAbstractUpdateFuture dhtFut, AffinityAssignment affAssignment, boolean sndPrevVal ) throws GridCacheEntryRemovedException { +GridDhtAtomicAbstractUpdateFuture dhtFut = dhtUpdRes.dhtFuture(); + GridCacheOperation op = req.operation(); if (dhtFut != null) { @@ -2858,11 +2857,11 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { dhtUpdRes.returnValue(retVal = new GridCacheReturn(nearNode.isLocal())); retVal.addEntryProcessResult(ctx, -entry.key(), -null, -compRes.get1(), -compRes.get2(), -req.keepBinary()); +entry.key(), +null, +compRes.get1(), +compRes.get2(), +req.keepBinary()); } } else { @@ -2870,13 +2869,11 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { if (retVal == null) { CacheObject ret = updRes.oldValue(); -if (retVal == null) { -dhtUpdRes.returnValue(retVal = new GridCacheReturn(ctx, -nearNode.isLocal(), -req.keepBinary(), -req.returnValue() ? ret : null, -updRes.success())); -} +dhtUpdRes.returnValue(new GridCacheReturn(ctx, +nearNode.isLocal(), +req.keepBinary(), +req.returnValue() ? ret : null, +updRes.success())); } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/tree/CacheDataTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/tree/CacheDataTree.java index d2b72ec..947b589 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/tree/CacheDataTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/tree/CacheDataTree.java @@ -117,6 +117,11 @@ public class CacheDataTree extends BPlusTree { rowsComparator = new Comparator() { @Override public int compare(CacheSearchRow row1, CacheSearchRow row2) { try { +int cmp = Integer.compare(row1.hash(), row2.hash()); + +if (cmp != 0) +return cmp; + return compareKeyBytes( row1.key().valueBytes(grp.cacheObjectContext()), row2.key().valueBytes(grp.cacheObjectContext()));
[ignite] branch ignite-invokeAll updated: invokeAll
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-invokeAll by this push: new aaf280f invokeAll aaf280f is described below commit aaf280fa8da9704e4d8cda5954c1c64581674364 Author: sboikov AuthorDate: Mon Feb 18 21:53:36 2019 +0300 invokeAll --- .../processors/cache/IgniteCacheOffheapManager.java| 16 .../distributed/dht/atomic/GridDhtAtomicCache.java | 18 +++--- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index 4f72e81..7822319 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -886,10 +886,26 @@ public interface IgniteCacheOffheapManager { */ public void invoke(GridCacheContext cctx, KeyCacheObject key, OffheapInvokeClosure c) throws IgniteCheckedException; +/** + * @param cctx Cache context. + * @param key Key. + * @return Cache search row. + * @throws IgniteCheckedException If failed. + */ public CacheSearchRow createSearchRow(GridCacheContext cctx, KeyCacheObject key) throws IgniteCheckedException; +/** + * @return Rows comparator. + * @throws IgniteCheckedException If failed. + */ public Comparator rowsComparator() throws IgniteCheckedException; +/** + * @param cctx Cache context. + * @param rows Rows sorted according to cache tree sort order.. + * @param map Update closures map. + * @throws IgniteCheckedException If failed. + */ public void invokeAll(GridCacheContext cctx, Collection rows, Map map) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index fd31b16..9c8ae3e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -2551,13 +2551,16 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { int cnt = req.size() - dhtUpdRes.processedEntriesCount(); -Map lsnrs = ctx.continuousQueries().updateListeners(!ctx.userCache(), false); - boolean retval = sndPrevVal || req.returnValue(); GridDrType drType = replicate ? DR_PRIMARY : DR_NONE; -if (cnt > 1) { +if (cnt >= 1) { +Map lsnrs = ctx.continuousQueries().updateListeners(!ctx.userCache(), false); + +boolean needVal = lsnrs != null || intercept || retval || op == GridCacheOperation.TRANSFORM || +!F.isEmptyOrNulls(req.filter()); + Map> byPart = new HashMap<>(); for (int i = dhtUpdRes.processedEntriesCount(); i < req.size(); i++) { @@ -2582,6 +2585,10 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { assert !(newConflictVer instanceof GridCacheVersionEx) : newConflictVer; Object writeVal = op == TRANSFORM ? req.entryProcessor(i) : req.writeValue(i); +// Possibly read value from store. +boolean readFromStore = !req.skipStore() && needVal && (ctx.readThrough() && +(op == GridCacheOperation.TRANSFORM || ctx.loadPreviousValue())); + AtomicCacheBatchUpdateClosure c = new AtomicCacheBatchUpdateClosure( i, entry, @@ -2590,7 +2597,7 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { req.operation(), writeVal, req.invokeArguments(), -!req.skipStore(), +readFromStore, writeThrough() && !req.skipStore(), req.keepBinary(), expiry, @@ -2622,9 +2629,6 @@ public class GridDhtAtomicCache extends GridDhtCacheAdapter { for (Map.Entry e : map.entrySet()) { AtomicCacheBatchUpdateClosure c = e.getValue(); -boolean needVal = lsnrs != null || intercep
[ignite] branch ignite-invokeAll created (now e07bc0f)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. at e07bc0f invokeAll This branch includes the following new commits: new 0c3f97b wip new 1ba5c5f Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new f0a0e7e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 124c719 wip new 03e86bc wip new 07f13f8 wip new d834484 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 55520e0 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 21be1c1 wip new e95a755 iterator new 6a94720 fix new 573e17e fixes new 3447fb8 javadoc new e83632d fix new b880396 refactor new f4c5aa3 doc new 439e536 doc new 1b9b39d javadoc new d7a3545 closure provider new e2aef17 fix new 66a6943 b+tree tests new d50a6f7 minor new ece47e5 minor test improvements new 93e9869 fix for IGNITE-7265 new 5424f32 wip new 3e7b688 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 7751349 more tests new 837b73a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new bd6ed11 more tests 2 new 63dc492 page reuse fixed new ccbf536 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 2523b86 refactor for removeAll new 8279f47 refactor for removeAll 2 new 336b6c0 RemoveAll wip new 7cb863d RemoveAll wip2 new f3ef2f5 RemoveAll new 8708a84 PutAll new 68eb22a PutAll tests new 313737a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 4792e46 minor new 780a0a2 GetAll wip new 510c3f5 move reuse free pages to nextRow new 9e48c6e cleanup new dc7b8f8 GetAll wip new 5753bee cleanup new e92b434 findAll new 1490b9d findAll tests new 5adad35 minor new 614ed90 fixed empty tree with empty branch new fac1c3c Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new db32ce6 minor size new b0e5b38 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 3b0bdff tests new 0bf19f7 test sliding window new aa5318e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new fb1fcd3 save first page id into tree meta new e07bc0f invokeAll The 57 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] branch data-load-invokeAll deleted (was e07bc0f)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch data-load-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. was e07bc0f invokeAll This change permanently discards the following revisions: discard e07bc0f invokeAll discard fb1fcd3 save first page id into tree meta discard aa5318e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 0bf19f7 test sliding window discard 3b0bdff tests discard b0e5b38 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard db32ce6 minor size discard fac1c3c Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 614ed90 fixed empty tree with empty branch discard 5adad35 minor discard 1490b9d findAll tests discard e92b434 findAll discard 5753bee cleanup discard dc7b8f8 GetAll wip discard 9e48c6e cleanup discard 510c3f5 move reuse free pages to nextRow discard 780a0a2 GetAll wip discard 4792e46 minor discard 313737a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 68eb22a PutAll tests discard 8708a84 PutAll discard f3ef2f5 RemoveAll discard 7cb863d RemoveAll wip2 discard 336b6c0 RemoveAll wip discard 8279f47 refactor for removeAll 2 discard 2523b86 refactor for removeAll discard ccbf536 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 63dc492 page reuse fixed discard bd6ed11 more tests 2 discard 837b73a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 7751349 more tests discard 3e7b688 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 5424f32 wip discard 93e9869 fix for IGNITE-7265 discard ece47e5 minor test improvements discard d50a6f7 minor discard 66a6943 b+tree tests discard e2aef17 fix discard d7a3545 closure provider discard 1b9b39d javadoc discard 439e536 doc discard f4c5aa3 doc discard b880396 refactor discard e83632d fix discard 3447fb8 javadoc discard 573e17e fixes discard 6a94720 fix discard e95a755 iterator discard 21be1c1 wip discard 55520e0 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard d834484 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 07f13f8 wip discard 03e86bc wip discard 124c719 wip discard f0a0e7e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 1ba5c5f Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load discard 0c3f97b wip
[ignite] branch data-load-invokeAll created (now e07bc0f)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch data-load-invokeAll in repository https://gitbox.apache.org/repos/asf/ignite.git. at e07bc0f invokeAll This branch includes the following new commits: new 0c3f97b wip new 1ba5c5f Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new f0a0e7e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 124c719 wip new 03e86bc wip new 07f13f8 wip new d834484 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 55520e0 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 21be1c1 wip new e95a755 iterator new 6a94720 fix new 573e17e fixes new 3447fb8 javadoc new e83632d fix new b880396 refactor new f4c5aa3 doc new 439e536 doc new 1b9b39d javadoc new d7a3545 closure provider new e2aef17 fix new 66a6943 b+tree tests new d50a6f7 minor new ece47e5 minor test improvements new 93e9869 fix for IGNITE-7265 new 5424f32 wip new 3e7b688 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 7751349 more tests new 837b73a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new bd6ed11 more tests 2 new 63dc492 page reuse fixed new ccbf536 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 2523b86 refactor for removeAll new 8279f47 refactor for removeAll 2 new 336b6c0 RemoveAll wip new 7cb863d RemoveAll wip2 new f3ef2f5 RemoveAll new 8708a84 PutAll new 68eb22a PutAll tests new 313737a Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 4792e46 minor new 780a0a2 GetAll wip new 510c3f5 move reuse free pages to nextRow new 9e48c6e cleanup new dc7b8f8 GetAll wip new 5753bee cleanup new e92b434 findAll new 1490b9d findAll tests new 5adad35 minor new 614ed90 fixed empty tree with empty branch new fac1c3c Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new db32ce6 minor size new b0e5b38 Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new 3b0bdff tests new 0bf19f7 test sliding window new aa5318e Merge branch 'master' of https://gitbox.apache.org/repos/asf/ignite into data-load new fb1fcd3 save first page id into tree meta new e07bc0f invokeAll The 57 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] 01/02: Merge remote-tracking branch 'remotes/origin/master' into ignite-1090
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git commit f06e7eb9113209af0353123e295aaa9f0f7b3b94 Merge: 2da2ce1 208c53f Author: sboikov AuthorDate: Sat Feb 9 13:13:00 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-1090 .../managers/discovery/IgniteDiscoverySpi.java | 7 + .../processors/cache/ClusterCachesInfo.java| 2 - .../spi/communication/tcp/TcpCommunicationSpi.java | 10 +- .../ignite/spi/discovery/tcp/ClientImpl.java | 6 + .../ignite/spi/discovery/tcp/ServerImpl.java | 356 ++-- .../ignite/spi/discovery/tcp/TcpDiscoveryImpl.java | 22 +- .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 11 +- .../{TcpDiscoverySpiState.java => FutureTask.java} | 57 ++-- .../tcp/internal/TcpDiscoveryNodesRing.java| 33 +- .../tcp/internal/TcpDiscoverySpiState.java | 5 +- .../TcpDiscoveryDummyWakeupMessage.java} | 42 +-- .../tcp/messages/TcpDiscoveryHandshakeRequest.java | 23 +- .../messages/TcpDiscoveryNodeFailedMessage.java| 10 +- .../IgniteTcpCommunicationConnectOnInitTest.java | 89 + .../tcp/TcpDiscoveryCoordinatorFailureTest.java| 366 + .../TcpDiscoveryPendingMessageDeliveryTest.java| 2 +- .../IgniteSpiDiscoverySelfTestSuite.java | 2 + .../cache/query/GridCacheTwoStepQuery.java | 183 +++ .../internal/processors/query/h2/H2Utils.java | 141 .../processors/query/h2/IgniteH2Indexing.java | 250 -- .../processors/query/h2/dml/UpdatePlanBuilder.java | 21 +- .../query/h2/sql/GridSqlQuerySplitter.java | 59 ++-- .../query/h2/twostep/GridReduceQueryExecutor.java | 34 +- .../query/h2/twostep/ReduceQueryRun.java | 5 +- .../spi/discovery/zk/ZookeeperDiscoverySpi.java| 6 + .../spi/discovery/zk/internal/ZkClusterNodes.java | 17 + .../zk/internal/ZookeeperDiscoveryImpl.java| 11 + 27 files changed, 1203 insertions(+), 567 deletions(-)
[ignite] 02/02: ignite-1090
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git commit f961c57325301e8bf9957ad3db5b39f4aba1c09b Author: sboikov AuthorDate: Sat Feb 9 13:16:02 2019 +0300 ignite-1090 --- .../java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java index dc68d48..52523b1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java @@ -975,7 +975,7 @@ public final class GridCacheMvcc { * as system invalidate and marks these candidates as owned and used. * * @param ver Version to salvage. - * @param near {@code True} if remove near cache candidate. + * @param near {@code True} If salvage near cache candidate. */ public void salvageRemote(GridCacheVersion ver, boolean near) { assert ver != null;
[ignite] branch ignite-1090 updated (2da2ce1 -> f961c57)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git. from 2da2ce1 Merge remote-tracking branch 'remotes/origin/master' into ignite-1090 add 396d9c9 IGNITE-10395 Fixed 'Invalid node order' assertion - Fixes #5835. add 208c53f IGNITE-11223: SQL: Make two-step plan immutable. Note that GridCacheSqlQuery is still mutable, what will be fixed separately. This closes #6070. new f06e7eb Merge remote-tracking branch 'remotes/origin/master' into ignite-1090 new f961c57 ignite-1090 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../managers/discovery/IgniteDiscoverySpi.java | 7 + .../processors/cache/ClusterCachesInfo.java| 2 - .../internal/processors/cache/GridCacheMvcc.java | 2 +- .../spi/communication/tcp/TcpCommunicationSpi.java | 10 +- .../ignite/spi/discovery/tcp/ClientImpl.java | 6 + .../ignite/spi/discovery/tcp/ServerImpl.java | 356 ++-- .../ignite/spi/discovery/tcp/TcpDiscoveryImpl.java | 22 +- .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 11 +- .../discovery/tcp/internal/FutureTask.java}| 26 +- .../tcp/internal/TcpDiscoveryNodesRing.java| 33 +- .../tcp/internal/TcpDiscoverySpiState.java | 5 +- .../messages/TcpDiscoveryDummyWakeupMessage.java} | 17 +- .../tcp/messages/TcpDiscoveryHandshakeRequest.java | 23 +- .../messages/TcpDiscoveryNodeFailedMessage.java| 10 +- .../IgniteTcpCommunicationConnectOnInitTest.java | 89 + .../tcp/TcpDiscoveryCoordinatorFailureTest.java| 366 + .../TcpDiscoveryPendingMessageDeliveryTest.java| 2 +- .../IgniteSpiDiscoverySelfTestSuite.java | 2 + .../cache/query/GridCacheTwoStepQuery.java | 183 +++ .../internal/processors/query/h2/H2Utils.java | 141 .../processors/query/h2/IgniteH2Indexing.java | 250 -- .../processors/query/h2/dml/UpdatePlanBuilder.java | 21 +- .../query/h2/sql/GridSqlQuerySplitter.java | 59 ++-- .../query/h2/twostep/GridReduceQueryExecutor.java | 34 +- .../query/h2/twostep/ReduceQueryRun.java | 5 +- .../spi/discovery/zk/ZookeeperDiscoverySpi.java| 6 + .../spi/discovery/zk/internal/ZkClusterNodes.java | 17 + .../zk/internal/ZookeeperDiscoveryImpl.java| 11 + 28 files changed, 1189 insertions(+), 527 deletions(-) copy modules/core/src/main/java/org/apache/ignite/{internal/util/GridTimerTask.java => spi/discovery/tcp/internal/FutureTask.java} (65%) copy modules/{zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClientFailedException.java => core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryDummyWakeupMessage.java} (73%) create mode 100644 modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryCoordinatorFailureTest.java
[ignite] 01/01: Merge remote-tracking branch 'remotes/origin/master' into ignite-1090
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 2da2ce16583197be4f291ccd22d6d33b9fe7e761 Merge: c07f2bf 7fd71c7 Author: sboikov AuthorDate: Fri Feb 8 14:50:52 2019 +0300 Merge remote-tracking branch 'remotes/origin/master' into ignite-1090 .../jdbc/suite/IgniteJdbcDriverTestSuite.java |2 + .../jdbc/thin/JdbcThinMultiStatementSelfTest.java | 198 +++ .../dht/GridDhtTxQueryEnlistFuture.java| 16 +- .../near/GridNearTxAbstractEnlistFuture.java | 37 +- .../distributed/near/GridNearTxEnlistFuture.java | 24 +- .../near/GridNearTxQueryEnlistFuture.java | 243 ++-- .../near/GridNearTxQueryResultsEnlistFuture.java | 24 +- .../processors/query/GridQueryIndexing.java| 33 +- .../processors/query/GridQueryProcessor.java | 34 +- .../processors/query/RunningQueryManager.java | 19 +- .../org/apache/ignite/internal/sql/SqlLexer.java |9 +- .../org/apache/ignite/internal/sql/SqlParser.java | 54 +- .../apache/ignite/internal/util/IgniteUtils.java | 11 + .../IgniteClientCacheInitializationFailTest.java |9 +- .../sql/SqlParserMultiStatementSelfTest.java | 95 ++ .../cache/query/GridCacheTwoStepQuery.java | 16 +- .../query/h2/DmlStatementsProcessor.java | 1457 +--- .../processors/query/h2/H2CachedStatementKey.java | 17 +- .../processors/query/h2/IgniteH2Indexing.java | 1151 .../processors/query/h2/ParsingResult.java | 77 +- .../processors/query/h2/SchemaManager.java |2 + .../internal/processors/query/h2/UpdateResult.java | 22 + .../query/h2/ddl/DdlStatementsProcessor.java | 13 + .../processors/query/h2/dml/DmlAstUtils.java | 47 +- .../query/h2/dml/DmlBulkLoadDataConverter.java | 52 + .../query/h2/dml/DmlUpdateResultsIterator.java | 71 + .../query/h2/dml/DmlUpdateSingleEntryIterator.java | 66 + .../internal/processors/query/h2/dml/DmlUtils.java | 420 +- .../processors/query/h2/dml/UpdatePlanBuilder.java | 39 +- .../query/h2/sql/GridSqlQueryParser.java | 10 + .../query/h2/sql/GridSqlQuerySplitter.java |4 +- .../h2/sys/view/SqlAbstractLocalSystemView.java| 33 +- .../h2/sys/view/SqlSystemViewRunningQueries.java | 101 ++ .../query/h2/twostep/GridMapQueryExecutor.java |2 +- .../mvcc/CacheMvccSqlTxQueriesAbstractTest.java| 96 ++ .../processors/query/RunningQueriesTest.java |2 +- .../processors/query/SqlSystemViewsSelfTest.java | 105 ++ .../query/h2/GridIndexingSpiAbstractSelfTest.java | 174 --- .../IgniteBinaryCacheQueryTestSuite.java |9 +- .../testsuites/IgniteCacheMvccSqlTestSuite.java|9 - modules/ml/mleap-model-parser/pom.xml | 22 +- modules/ml/pom.xml | 33 +- modules/ml/spark-model-parser/pom.xml | 20 + .../ignite/ml/dataset/feature/BucketMeta.java |3 + .../ignite/ml/dataset/feature/ObjectHistogram.java | 56 +- .../ignite/ml/tree/randomforest/data/NodeId.java | 36 +- .../ml/tree/randomforest/data/NodeSplit.java |6 +- .../ignite/ml/tree/randomforest/data/TreeNode.java |5 +- .../randomforest/data/impurity/GiniHistogram.java | 29 +- .../data/impurity/ImpurityHistogram.java |6 +- .../data/impurity/ImpurityHistogramsComputer.java |2 +- .../randomforest/data/impurity/MSEHistogram.java | 66 +- .../basic/BootstrappedVectorsHistogram.java| 60 + .../data/impurity/basic/CountersHistogram.java | 57 + .../data/impurity/basic/package-info.java} |9 +- .../statistics/ClassifierLeafValuesComputer.java | 49 +- .../org/apache/ignite/ml/IgniteMLTestSuite.java|2 + .../ml/dataset/feature/ObjectHistogramTest.java| 60 +- .../randomforest/RandomForestIntegrationTest.java | 98 ++ .../randomforest/RandomForestTreeTestSuite.java|3 +- modules/ml/xgboost-model-parser/pom.xml| 22 +- modules/tensorflow/pom.xml | 22 +- modules/web-console/frontend/app/app.js|4 +- .../components/global-progress-line/component.ts} | 18 +- .../components/global-progress-line/controller.ts} | 29 +- .../app/components/global-progress-line/index.ts} | 13 +- .../components/global-progress-line/style.scss}| 16 +- .../template.pug | 14 +- .../app/components/page-profile/controller.js | 13 +- .../app/components/page-profile/template.pug |4 +- .../app/components/page-signin/controller.ts | 10 +- .../app/components/page-signin/template.pug|3 + .../app/components/page-signup/controller.ts | 23 +- .../app/components/page-signup/template.pug|3 + 74
[ignite] branch ignite-1090 updated (c07f2bf -> 2da2ce1)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git. from c07f2bf Merge remote-tracking branch 'origin/ignite-1090' into ignite-1090 add b0493d8 IGNITE-10965 Web console: Implemented indication for potentially long operation: 1. Disable button after starting potentially long operation. 2. Swap red line under app header with 'global-progress-line' component to indicate running operation. add bb6dedb IGNITE-10602: SQL: Fixed parsing of multi-statements when both native and H2 parsers are invloved. This closes #6018. add c3cc426 IGNITE-11193: MVCC TX: the query with specified explicit partitions fails. This closes #6045. add ea8197a IGNITE-10765: MVCC TX: Unmute tests. This closes #6038. add 9ec36bf IGNITE-10347: SQL: system view with running queries. This closes #5845. add 5ca26ce1 IGNITE-11209: SQL: Merged IgniteH2Indexing and DmlStatemntsProcessor. This closes #6035. add 85c706a IGNITE-11232: [ML] Random Forest, NodeId exception (Failed to serialize object) add 7fd71c7 IGNITE-11241: [ML] blas NoClassDefFoundError exception new 2da2ce1 Merge remote-tracking branch 'remotes/origin/master' into ignite-1090 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../jdbc/suite/IgniteJdbcDriverTestSuite.java |2 + .../jdbc/thin/JdbcThinMultiStatementSelfTest.java | 198 +++ .../dht/GridDhtTxQueryEnlistFuture.java| 16 +- .../near/GridNearTxAbstractEnlistFuture.java | 37 +- .../distributed/near/GridNearTxEnlistFuture.java | 24 +- .../near/GridNearTxQueryEnlistFuture.java | 243 ++-- .../near/GridNearTxQueryResultsEnlistFuture.java | 24 +- .../processors/query/GridQueryIndexing.java| 33 +- .../processors/query/GridQueryProcessor.java | 34 +- .../processors/query/RunningQueryManager.java | 19 +- .../org/apache/ignite/internal/sql/SqlLexer.java |9 +- .../org/apache/ignite/internal/sql/SqlParser.java | 54 +- .../apache/ignite/internal/util/IgniteUtils.java | 11 + .../IgniteClientCacheInitializationFailTest.java |9 +- .../sql/SqlParserMultiStatementSelfTest.java | 95 ++ .../cache/query/GridCacheTwoStepQuery.java | 16 +- .../query/h2/DmlStatementsProcessor.java | 1457 +--- .../processors/query/h2/H2CachedStatementKey.java | 17 +- .../processors/query/h2/IgniteH2Indexing.java | 1151 .../processors/query/h2/ParsingResult.java | 77 +- .../processors/query/h2/SchemaManager.java |2 + .../internal/processors/query/h2/UpdateResult.java | 22 + .../query/h2/ddl/DdlStatementsProcessor.java | 13 + .../processors/query/h2/dml/DmlAstUtils.java | 47 +- .../query/h2/dml/DmlBulkLoadDataConverter.java | 52 + .../query/h2/dml/DmlUpdateResultsIterator.java | 71 + .../query/h2/dml/DmlUpdateSingleEntryIterator.java | 66 + .../internal/processors/query/h2/dml/DmlUtils.java | 420 +- .../processors/query/h2/dml/UpdatePlanBuilder.java | 39 +- .../query/h2/sql/GridSqlQueryParser.java | 10 + .../query/h2/sql/GridSqlQuerySplitter.java |4 +- .../h2/sys/view/SqlAbstractLocalSystemView.java| 33 +- .../h2/sys/view/SqlSystemViewRunningQueries.java | 101 ++ .../query/h2/twostep/GridMapQueryExecutor.java |2 +- .../mvcc/CacheMvccSqlTxQueriesAbstractTest.java| 96 ++ .../processors/query/RunningQueriesTest.java |2 +- .../processors/query/SqlSystemViewsSelfTest.java | 105 ++ .../query/h2/GridIndexingSpiAbstractSelfTest.java | 174 --- .../IgniteBinaryCacheQueryTestSuite.java |9 +- .../testsuites/IgniteCacheMvccSqlTestSuite.java|9 - modules/ml/mleap-model-parser/pom.xml | 22 +- modules/ml/pom.xml | 33 +- modules/ml/spark-model-parser/pom.xml | 20 + .../ignite/ml/dataset/feature/BucketMeta.java |3 + .../ignite/ml/dataset/feature/ObjectHistogram.java | 56 +- .../ignite/ml/tree/randomforest/data/NodeId.java | 36 +- .../ml/tree/randomforest/data/NodeSplit.java |6 +- .../ignite/ml/tree/randomforest/data/TreeNode.java |5 +- .../randomforest/data/impurity/GiniHistogram.java | 29 +- .../data/impurity/ImpurityHistogram.java |6 +- .../data/impurity/ImpurityHistogramsComputer.java |2 +- .../randomforest/data/impurity/MSEHistogram.java | 66 +- .../basic/BootstrappedVectorsHistogram.java| 60 + .../data/impurity/basic/CountersHistogram.java | 57 + .../data/impurity/bas
[ignite] branch ignite-1090 updated: ignite-1090
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-1090 by this push: new b3d1825 ignite-1090 new c07f2bf Merge remote-tracking branch 'origin/ignite-1090' into ignite-1090 b3d1825 is described below commit b3d18251c882e72e1d63261fac329a96a4e78b65 Author: sboikov AuthorDate: Thu Feb 7 20:27:15 2019 +0300 ignite-1090 --- .../org/apache/ignite/internal/processors/cache/GridCacheMvcc.java | 5 +++-- .../processors/cache/distributed/GridDistributedCacheEntry.java | 2 +- .../internal/processors/cache/transactions/IgniteTxHandler.java | 6 -- .../internal/processors/cache/transactions/IgniteTxManager.java | 5 + .../ignite/internal/processors/cache/GridCacheTestEntryEx.java | 2 +- .../near/GridCachePartitionedOptimisticTxNodeRestartTest.java | 6 -- .../cache/distributed/near/NearCacheMultithreadedUpdateTest.java| 2 +- .../org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java | 2 ++ 8 files changed, 13 insertions(+), 17 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java index 28cc8fb..dc68d48 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java @@ -975,8 +975,9 @@ public final class GridCacheMvcc { * as system invalidate and marks these candidates as owned and used. * * @param ver Version to salvage. + * @param near {@code True} if remove near cache candidate. */ -public void salvageRemote(GridCacheVersion ver) { +public void salvageRemote(GridCacheVersion ver, boolean near) { assert ver != null; GridCacheMvccCandidate cand = candidate(rmts, ver); @@ -995,7 +996,7 @@ public final class GridCacheMvcc { // Only Near and DHT remote candidates should be released. assert !rmt.nearLocal(); -IgniteInternalTx tx = cctx.tm().tx(rmt.version()); +IgniteInternalTx tx = near ? cctx.tm().nearTx(rmt.version()) : cctx.tm().tx(rmt.version()); if (tx != null) { tx.systemInvalidate(true); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java index 6dc021b..9b1d0ca 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java @@ -614,7 +614,7 @@ public class GridDistributedCacheEntry extends GridCacheMapEntry { } if (sysInvalidate && baseVer != null) -mvcc.salvageRemote(baseVer); +mvcc.salvageRemote(baseVer, isNear()); owner = mvcc.doneRemote(lockVer, maskNull(pendingVers), diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java index 2d31360..719bf04 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java @@ -1413,8 +1413,10 @@ public class IgniteTxHandler { try { if (req.commit() || req.isSystemInvalidate()) { tx.commitVersion(req.commitVersion()); -tx.invalidate(req.isInvalidate()); -tx.systemInvalidate(req.isSystemInvalidate()); +if (req.isInvalidate()) +tx.invalidate(true); +if (req.isSystemInvalidate()) +tx.systemInvalidate(true); tx.mvccSnapshot(req.mvccSnapshot()); // Complete remote candidates. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java index b3df67a..84150f8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java @@ -1568,10 +1568,7 @@ publ
[ignite] 01/01: ignite-1090
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git commit 7150b73e5757d03c3e41deae077bb4995b19fb47 Author: sboikov AuthorDate: Thu Feb 7 20:27:15 2019 +0300 ignite-1090 --- .../org/apache/ignite/internal/processors/cache/GridCacheMvcc.java | 5 +++-- .../processors/cache/distributed/GridDistributedCacheEntry.java | 2 +- .../internal/processors/cache/transactions/IgniteTxHandler.java | 6 -- .../ignite/internal/processors/cache/GridCacheTestEntryEx.java | 2 +- .../near/GridCachePartitionedOptimisticTxNodeRestartTest.java | 6 -- .../cache/distributed/near/NearCacheMultithreadedUpdateTest.java| 2 +- .../org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java | 2 ++ 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java index 28cc8fb..dc68d48 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java @@ -975,8 +975,9 @@ public final class GridCacheMvcc { * as system invalidate and marks these candidates as owned and used. * * @param ver Version to salvage. + * @param near {@code True} if remove near cache candidate. */ -public void salvageRemote(GridCacheVersion ver) { +public void salvageRemote(GridCacheVersion ver, boolean near) { assert ver != null; GridCacheMvccCandidate cand = candidate(rmts, ver); @@ -995,7 +996,7 @@ public final class GridCacheMvcc { // Only Near and DHT remote candidates should be released. assert !rmt.nearLocal(); -IgniteInternalTx tx = cctx.tm().tx(rmt.version()); +IgniteInternalTx tx = near ? cctx.tm().nearTx(rmt.version()) : cctx.tm().tx(rmt.version()); if (tx != null) { tx.systemInvalidate(true); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java index 6dc021b..9b1d0ca 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java @@ -614,7 +614,7 @@ public class GridDistributedCacheEntry extends GridCacheMapEntry { } if (sysInvalidate && baseVer != null) -mvcc.salvageRemote(baseVer); +mvcc.salvageRemote(baseVer, isNear()); owner = mvcc.doneRemote(lockVer, maskNull(pendingVers), diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java index 2d31360..719bf04 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java @@ -1413,8 +1413,10 @@ public class IgniteTxHandler { try { if (req.commit() || req.isSystemInvalidate()) { tx.commitVersion(req.commitVersion()); -tx.invalidate(req.isInvalidate()); -tx.systemInvalidate(req.isSystemInvalidate()); +if (req.isInvalidate()) +tx.invalidate(true); +if (req.isSystemInvalidate()) +tx.systemInvalidate(true); tx.mvccSnapshot(req.mvccSnapshot()); // Complete remote candidates. diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java index 9624bd8..1153a3d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java @@ -198,7 +198,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr * @param baseVer Base version. */ void salvageRemote(GridCacheVersion baseVer) { -mvcc.salvageRemote(baseVer); +mvcc.salvageRemote(baseVer, false); } /** diff --git a/modules/core/src/test/java/org/apach
[ignite] branch ignite-1090 created (now 7150b73)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git. at 7150b73 ignite-1090 This branch includes the following new commits: new 7150b73 ignite-1090 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite] branch ignite-1090 deleted (was 1a1caab)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-1090 in repository https://gitbox.apache.org/repos/asf/ignite.git. was 1a1caab ignite-1090 This change permanently discards the following revisions: discard 1a1caab ignite-1090 discard cd6e9c0 ignite-1090
[ignite] branch ignite-11108 deleted (was cd34911)
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a change to branch ignite-11108 in repository https://gitbox.apache.org/repos/asf/ignite.git. was cd34911 ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode This change permanently discards the following revisions: discard cd34911 ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode discard 6b2e2ce ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode
[ignite] branch master updated: ignite-11108 ZK discovery: call both methods SpiContext.validateNode
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/master by this push: new bcf8118 ignite-11108 ZK discovery: call both methods SpiContext.validateNode bcf8118 is described below commit bcf8118574c9e9d86ad585c4785ad7a3726ee07a Author: sboikov AuthorDate: Wed Jan 30 10:50:42 2019 +0300 ignite-11108 ZK discovery: call both methods SpiContext.validateNode --- .../zk/internal/ZookeeperDiscoveryImpl.java| 10 +++- .../zk/internal/ZookeeperDiscoveryMiscTest.java| 65 +++--- 2 files changed, 63 insertions(+), 12 deletions(-) diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java index 544168f..f57d8b1 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java @@ -2006,11 +2006,15 @@ public class ZookeeperDiscoveryImpl { if (res.err != null) return res; -DiscoveryDataBag joiningNodeBag = new DiscoveryDataBag(node.id(), joiningNodeData.node().isClient()); +IgniteNodeValidationResult err = spi.getSpiContext().validateNode(node); -joiningNodeBag.joiningNodeData(joiningNodeData.discoveryData()); +if (err == null) { +DiscoveryDataBag joiningNodeBag = new DiscoveryDataBag(node.id(), joiningNodeData.node().isClient()); -IgniteNodeValidationResult err = spi.getSpiContext().validateNode(node, joiningNodeBag); +joiningNodeBag.joiningNodeData(joiningNodeData.discoveryData()); + +err = spi.getSpiContext().validateNode(node, joiningNodeBag); +} if (err != null) { LT.warn(log, err.message()); diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java index fa8c7ec..deab1ea 100644 --- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java +++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java @@ -31,7 +31,10 @@ import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.SecurityCredentialsAttrFilterPredicate; import org.apache.ignite.internal.processors.security.SecurityContext; @@ -59,6 +62,19 @@ import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_SECURITY_SUBJ * Tests for Zookeeper SPI discovery. */ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { +/** */ +private CacheConfiguration ccfg; + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + +if (ccfg != null) +cfg.setCacheConfiguration(ccfg); + +return cfg; +} + /** * Verifies that node attributes returned through public API are presented in standard form. * @@ -320,6 +336,24 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { } /** + * Checks ZookeeperDiscovery call {@link org.apache.ignite.internal.GridComponent#validateNode(ClusterNode)}. + * + * @throws Exception If failed. + */ +@Test +public void testNodeValidation() throws Exception { +ccfg = new CacheConfiguration("validate-test-cache"); +ccfg.setAffinity(new ValidationTestAffinity()); + +startGrid(0); + +ccfg = new CacheConfiguration("validate-test-cache"); +ccfg.setAffinity(new ValidationTestAffinity()); + +checkStartFail(1, "Failed to add node to topology because it has the same hash code"); +} + +/** * @throws Exception If failed. */ @Test @@ -327,16 +361,18 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { auth = ZkTestNodeAuthenticator.factory(getTestIgniteInstanceName(1), getTestIgniteInstanceName(5)); +String e
[ignite] branch ignite-11108 updated: ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode
This is an automated email from the ASF dual-hosted git repository. sboikov pushed a commit to branch ignite-11108 in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/ignite-11108 by this push: new cd34911 ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode cd34911 is described below commit cd3491157adff51c55680581d1bfe58f10836d44 Author: sboikov AuthorDate: Wed Jan 30 09:46:01 2019 +0300 ignite-11108 ZK discovery: pass joining node data in SpiContext.validateNode --- .../zk/internal/ZookeeperDiscoveryMiscTest.java| 65 +++--- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java index fa8c7ec..deab1ea 100644 --- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java +++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java @@ -31,7 +31,10 @@ import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.SecurityCredentialsAttrFilterPredicate; import org.apache.ignite.internal.processors.security.SecurityContext; @@ -59,6 +62,19 @@ import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_SECURITY_SUBJ * Tests for Zookeeper SPI discovery. */ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { +/** */ +private CacheConfiguration ccfg; + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + +if (ccfg != null) +cfg.setCacheConfiguration(ccfg); + +return cfg; +} + /** * Verifies that node attributes returned through public API are presented in standard form. * @@ -320,6 +336,24 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { } /** + * Checks ZookeeperDiscovery call {@link org.apache.ignite.internal.GridComponent#validateNode(ClusterNode)}. + * + * @throws Exception If failed. + */ +@Test +public void testNodeValidation() throws Exception { +ccfg = new CacheConfiguration("validate-test-cache"); +ccfg.setAffinity(new ValidationTestAffinity()); + +startGrid(0); + +ccfg = new CacheConfiguration("validate-test-cache"); +ccfg.setAffinity(new ValidationTestAffinity()); + +checkStartFail(1, "Failed to add node to topology because it has the same hash code"); +} + +/** * @throws Exception If failed. */ @Test @@ -327,16 +361,18 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { auth = ZkTestNodeAuthenticator.factory(getTestIgniteInstanceName(1), getTestIgniteInstanceName(5)); +String expErr = "Authentication failed"; + startGrid(0); checkTestSecuritySubject(1); { helper.clientMode(false); -checkStartFail(1); +checkStartFail(1, expErr); helper.clientMode(true); -checkStartFail(1); +checkStartFail(1, expErr); helper.clientMode(false); } @@ -357,7 +393,7 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { checkTestSecuritySubject(1); -checkStartFail(1); +checkStartFail(1, expErr); helper.clientMode(false); @@ -373,19 +409,20 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase { checkTestSecuritySubject(4); -checkStartFail(1); -checkStartFail(5); +checkStartFail(1, expErr); +checkStartFail(5, expErr); helper.clientMode(true); -checkStartFail(1); -checkStartFail(5); +checkStartFail(1, expErr); +checkStartFail(5, expErr); } /** * @param nodeIdx Node index. + * @param expMsg Expected error message. */ -private void checkStartFail(final int nodeIdx) { +private void checkStartFail(final int nodeIdx, String expMsg) { Throwable err = GridTestUtils.assertThrows(log, new Callable() {