You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/04/11 12:35:34 UTC
[01/17] ignite git commit: Merge remote-tracking branch ignite-1.7.9
into ignite-1.9.2
Repository: ignite
Updated Branches:
refs/heads/ignite-4932 [created] 01ceeb134
Merge remote-tracking branch ignite-1.7.9 into ignite-1.9.2
Conflicts:
docs/RELEASE_NOTES.txt
docs/community/RELEASE_NOTES.txt
modules/compatibility/src/test/java/org/gridgain/grid/compatibility/tests/GridCompatibilityAbstractTest.java
modules/core/src/main/resources/gridgain.properties
modules/visor/src/main/scala/org/gridgain/visor/gui/tabs/sql/VisorSqlViewerTab.scala
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2ebea3e3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2ebea3e3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2ebea3e3
Branch: refs/heads/ignite-4932
Commit: 2ebea3e3493da60192eb4c4adc99b16819b6d7df
Parents: 8817190 bcb1398
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Thu Mar 16 15:33:47 2017 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Thu Mar 16 15:33:47 2017 +0300
----------------------------------------------------------------------
.../internal/managers/GridManagerAdapter.java | 4 +
.../cache/DynamicCacheChangeBatch.java | 14 ++
.../distributed/dht/GridDhtCacheAdapter.java | 19 +-
.../cache/query/GridCacheQueryManager.java | 97 +++++-----
.../service/GridServiceProcessor.java | 49 ++---
.../ignite/internal/util/IgniteUtils.java | 14 +-
.../visor/cache/VisorCacheClearTask.java | 58 +++++-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 5 +
.../org/apache/ignite/spi/IgniteSpiContext.java | 6 +
.../communication/tcp/TcpCommunicationSpi.java | 25 +++
.../ignite/spi/discovery/tcp/ClientImpl.java | 32 +++-
.../ignite/spi/discovery/tcp/ServerImpl.java | 19 ++
.../spi/discovery/tcp/TcpDiscoverySpi.java | 5 +
.../tcp/internal/TcpDiscoveryNode.java | 6 +-
.../GridServiceContinuousQueryRedeploy.java | 167 +++++++++++++++++
...veryNodeAttributesUpdateOnReconnectTest.java | 110 +++++++++++
.../TcpDiscoverySslSecuredUnsecuredTest.java | 185 +++++++++++++++++++
.../tcp/TestReconnectPluginProvider.java | 111 +++++++++++
.../discovery/tcp/TestReconnectProcessor.java | 93 ++++++++++
.../testframework/GridSpiTestContext.java | 5 +
.../testsuites/IgniteKernalSelfTestSuite.java | 2 +
.../IgniteSpiDiscoverySelfTestSuite.java | 5 +
.../org.apache.ignite.plugin.PluginProvider | 1 +
.../processors/query/h2/IgniteH2Indexing.java | 6 +
.../h2/twostep/GridReduceQueryExecutor.java | 1 +
parent/pom.xml | 1 +
26 files changed, 952 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
index 0c8476f,ce74f17..b588c18
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
@@@ -126,7 -127,7 +126,7 @@@ public class VisorCacheClearTask extend
if (callAsync(cache.<Integer>future(), 1))
return null;
}
--
++
if (futs[2] == null) {
cache.size(CachePeekMode.PRIMARY);
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
index b28619c,5977702..4f771d6
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
@@@ -144,7 -144,7 +145,8 @@@ public class IgniteKernalSelfTestSuite
suite.addTestSuite(GridServiceProxyClientReconnectSelfTest.class);
suite.addTestSuite(IgniteServiceReassignmentTest.class);
suite.addTestSuite(IgniteServiceProxyTimeoutInitializedTest.class);
+ suite.addTestSuite(IgniteServiceDynamicCachesSelfTest.class);
+ suite.addTestSuite(GridServiceContinuousQueryRedeploy.class);
suite.addTestSuite(IgniteServiceDeploymentClassLoadingDefaultMarshallerTest.class);
suite.addTestSuite(IgniteServiceDeploymentClassLoadingOptimizedMarshallerTest.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 8de8dc4,62b47b8..740b737
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -83,8 -80,7 +83,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
import org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable;
import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
+import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
+import org.apache.ignite.internal.processors.query.GridQueryCacheObjectsIterator;
+ import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
import org.apache.ignite.internal.processors.query.GridQueryCancel;
import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
import org.apache.ignite.internal.processors.query.GridQueryFieldsResult;
@@@ -1277,16 -1088,15 +1278,21 @@@ public class IgniteH2Indexing implement
setupConnection(conn, false, false);
- GridH2QueryContext.set(new GridH2QueryContext(nodeId, nodeId, 0, LOCAL).filter(filter).distributedJoins(false));
+ GridH2QueryContext.set(new GridH2QueryContext(nodeId, nodeId, 0, LOCAL).filter(filter)
+ .distributedJoinMode(OFF));
+
+ GridRunningQueryInfo run = new GridRunningQueryInfo(qryIdGen.incrementAndGet(), qry, SQL, spaceName,
+ U.currentTimeMillis(), null, true);
+
+ runs.put(run.id(), run);
+ GridRunningQueryInfo run = new GridRunningQueryInfo(qryIdGen.incrementAndGet(), qry, SQL, spaceName,
+ U.currentTimeMillis(), null, true);
+
+ runs.put(run.id(), run);
+
try {
- ResultSet rs = executeSqlQueryWithTimer(spaceName, conn, sql, params, true, 0, null);
+ ResultSet rs = executeSqlQueryWithTimer(spaceName, conn, sql, params, true, 0, cancel);
return new KeyValIterator(rs);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 8d3ece9,3f886ee..c0128b9
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@@ -62,12 -62,13 +62,13 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable;
import org.apache.ignite.internal.processors.cache.query.GridCacheSqlQuery;
import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
+ import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
import org.apache.ignite.internal.processors.query.GridQueryCacheObjectsIterator;
import org.apache.ignite.internal.processors.query.GridQueryCancel;
-import org.apache.ignite.internal.processors.query.h2.GridH2ResultSetIterator;
+import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
-import org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter;
+import org.apache.ignite.internal.processors.query.h2.sql.GridSqlSortColumn;
import org.apache.ignite.internal.processors.query.h2.sql.GridSqlType;
import org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryCancelRequest;
import org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryFailResponse;
http://git-wip-us.apache.org/repos/asf/ignite/blob/2ebea3e3/parent/pom.xml
----------------------------------------------------------------------
[11/17] ignite git commit: IGNITE-4659 Cleanup after merge.
Posted by sb...@apache.org.
IGNITE-4659 Cleanup after merge.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9d8de41b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9d8de41b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9d8de41b
Branch: refs/heads/ignite-4932
Commit: 9d8de41b6e8ed6ec8a29179b68a05c93d9077045
Parents: 27fbb7a
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Mon Apr 3 14:19:56 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Mon Apr 3 14:19:56 2017 +0700
----------------------------------------------------------------------
.../activities-user-dialog.jade | 36 ---------
.../form-field-datepicker.jade | 55 -------------
.../list-of-registered-users.jade | 58 --------------
.../ui-grid-header/ui-grid-header.jade | 27 -------
.../states/configuration/caches/affinity.jade | 82 --------------------
5 files changed, 258 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9d8de41b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade b/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
deleted file mode 100644
index 074851c..0000000
--- a/modules/web-console/frontend/app/components/activities-user-dialog/activities-user-dialog.jade
+++ /dev/null
@@ -1,36 +0,0 @@
-//-
- 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.
-
-.modal(tabindex='-1' role='dialog')
- .modal-dialog
- .modal-content
- .modal-header
- h4.modal-title
- i.fa.fa-info-circle
- | Activities: {{ ctrl.user.userName }}
- .modal-body.modal-body-with-scroll(id='activities-user-dialog')
- table.table.table-striped.table-bordered.table-hover(scrollable-container='#activities-user-dialog' st-table='displayedRows' st-safe-src='ctrl.data')
- thead
- th.text-center(st-sort='action | translate') Description
- th.text-center(st-sort='action') Action
- th.text-center(st-sort='amount') Visited
- tbody
- tr(ng-repeat='row in displayedRows')
- td.text-left {{ row.action | translate }}
- td.text-left {{ row.action }}
- td.text-left {{ row.amount }}
- .modal-footer
- button.btn.btn-primary(id='confirm-btn-confirm' ng-click='$hide()') Close
http://git-wip-us.apache.org/repos/asf/ignite/blob/9d8de41b/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade b/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
deleted file mode 100644
index 2578cf4..0000000
--- a/modules/web-console/frontend/app/components/form-field-datepicker/form-field-datepicker.jade
+++ /dev/null
@@ -1,55 +0,0 @@
-//-
- 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.
-
-mixin ignite-form-field-datepicker(label, model, name, disabled, required, placeholder, tip)
- mixin form-field-input()
- input.form-control(
- id='{{ #{name} }}Input'
- name='{{ #{name} }}'
-
- placeholder=placeholder
-
- data-ng-model=model
-
- data-ng-required=required && '#{required}'
- data-ng-disabled=disabled && '#{disabled}'
-
- bs-datepicker
- data-date-format='MMM yyyy'
- data-start-view='1'
- data-min-view='1'
- data-max-date='today'
-
- data-container='body > .wrapper'
-
- tabindex='0'
-
- onkeydown="return false"
-
- data-ignite-form-panel-field=''
- )&attributes(attributes.attributes)
-
- .ignite-form-field
- +ignite-form-field__label(label, name, required)
- .ignite-form-field__control
- if tip
- i.tipField.icon-help(bs-tooltip='' data-title=tip)
-
- if block
- block
-
- .input-tip
- +form-field-input(attributes=attributes)
http://git-wip-us.apache.org/repos/asf/ignite/blob/9d8de41b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade b/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
deleted file mode 100644
index 1195910..0000000
--- a/modules/web-console/frontend/app/components/list-of-registered-users/list-of-registered-users.jade
+++ /dev/null
@@ -1,58 +0,0 @@
-//-
- 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.
-
-include /app/helpers/jade/mixins.jade
-include /app/components/form-field-datepicker/form-field-datepicker.jade
-
-mixin grid-settings()
- i.fa.fa-bars(data-animation='am-flip-x' bs-dropdown='' aria-haspopup='true' aria-expanded='expanded' data-auto-close='1' data-trigger='click')
- ul.select.dropdown-menu(role='menu')
- li(ng-repeat='item in $ctrl.gridOptions.categories|filter:{selectable:true}')
- a(ng-click='$ctrl.toggleColumns(item, !item.visible)')
- i.fa.fa-check-square-o.pull-left(ng-if='item.visible')
- i.fa.fa-square-o.pull-left(ng-if='!item.visible')
- span {{::item.name}}
- li.divider
- li
- a(ng-click='$ctrl.selectAllColumns()') Select all
- li
- a(ng-click='$ctrl.clearAllColumns()') Clear all
- li.divider
- li
- a(ng-click='$hide()') Close
-
-.panel.panel-default
- .panel-heading.ui-grid-settings
- +grid-settings
- label Total users:
- strong {{ $ctrl.gridOptions.data.length }}
- label Showing users:
- strong {{ $ctrl.gridApi.grid.getVisibleRows().length }}
- sub(ng-show='users.length === $ctrl.gridApi.grid.getVisibleRows().length') all
-
- form.pull-right(ng-form=form novalidate)
- -var form = 'admin'
-
- button.btn.btn-primary(ng-click='$ctrl.exportCsv()' bs-tooltip data-title='Export table to csv') Export
-
- .ui-grid-settings-dateperiod
- +ignite-form-field-datepicker('Period:', '$ctrl.params.startDate', '"period"')
-
- .ui-grid-settings-filter
- +ignite-form-field-text('Exclude:', '$ctrl.params.companiesExclude', '"exclude"', false, false, 'Exclude by company name...')
-
- .panel-collapse
- .grid.ui-grid--ignite(ui-grid='$ctrl.gridOptions' ui-grid-resize-columns ui-grid-selection ui-grid-exporter ui-grid-pinning)
http://git-wip-us.apache.org/repos/asf/ignite/blob/9d8de41b/modules/web-console/frontend/app/components/ui-grid-header/ui-grid-header.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/components/ui-grid-header/ui-grid-header.jade b/modules/web-console/frontend/app/components/ui-grid-header/ui-grid-header.jade
deleted file mode 100644
index 7e44d94..0000000
--- a/modules/web-console/frontend/app/components/ui-grid-header/ui-grid-header.jade
+++ /dev/null
@@ -1,27 +0,0 @@
-//-
- 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.
-
-.ui-grid-header.ui-grid-header--subcategories(role='rowgroup')
- .ui-grid-top-panel
- .ui-grid-header-viewport
- .ui-grid-header-canvas
- .ui-grid-header-cell-wrapper(ng-style='colContainer.headerCellWrapperStyle()')
- .ui-grid-header-cell-row(role='row')
- .ui-grid-header-span.ui-grid-header-cell.ui-grid-clearfix(ng-repeat='cat in grid.options.categories')
- div(ng-show='(colContainer.renderedColumns|uiGridSubcategories:cat.name).length > 1')
- .ui-grid-cell-contents {{ cat.name }}
- .ui-grid-header-cell-row
- .ui-grid-header-cell.ui-grid-clearfix(ng-repeat='col in (colContainer.renderedColumns|uiGridSubcategories:cat.name) track by col.uid' ui-grid-header-cell='' col='col' render-index='$index')
http://git-wip-us.apache.org/repos/asf/ignite/blob/9d8de41b/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.jade b/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.jade
deleted file mode 100644
index 3c4746b..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/caches/affinity.jade
+++ /dev/null
@@ -1,82 +0,0 @@
-//-
- 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.
-
-include /app/helpers/jade/mixins.jade
-
--var form = 'affinity'
--var model = 'backupItem'
--var affModel = model + '.affinity'
--var affMapModel = model + '.affinityMapper'
--var rendezvousAff = affModel + '.kind === "Rendezvous"'
--var fairAff = affModel + '.kind === "Fair"'
--var customAff = affModel + '.kind === "Custom"'
--var customAffMapper = affMapModel + '.kind === "Custom"'
--var rendPartitionsRequired = rendezvousAff + ' && ' + affModel + '.Rendezvous.affinityBackupFilter'
--var fairPartitionsRequired = fairAff + ' && ' + affModel + '.Fair.affinityBackupFilter'
-
-.panel.panel-default(ng-form=form novalidate)
- .panel-heading(bs-collapse-toggle='' ng-click='ui.loadPanel("#{form}")')
- ignite-form-panel-chevron
- label Affinity Collocation
- ignite-form-field-tooltip.tipLabel
- | Collocate data with data to improve performance and scalability of your application#[br]
- | #[a(href="http://apacheignite.gridgain.org/docs/affinity-collocation" target="_blank") More info]
- ignite-form-revert
- .panel-collapse(role='tabpanel' bs-collapse-target id=form)
- .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
- .col-sm-6
- .settings-row
- +dropdown('Function:', affModel + '.kind', '"AffinityKind"', 'true', 'Default',
- '[\
- {value: "Rendezvous", label: "Rendezvous"},\
- {value: "Fair", label: "Fair"},\
- {value: "Custom", label: "Custom"},\
- {value: undefined, label: "Default"}\
- ]',
- 'Key topology resolver to provide mapping from keys to nodes\
- <ul>\
- <li>Rendezvous - Based on Highest Random Weight algorithm<br/></li>\
- <li>Fair - Tries to ensure that all nodes get equal number of partitions with minimum amount of reassignments between existing nodes<br/></li>\
- <li>Custom - Custom implementation of key affinity fynction<br/></li>\
- <li>Default - By default rendezvous affinity function with 1024 partitions is used<br/></li>\
- </ul>')
- .panel-details(ng-if=rendezvousAff)
- .details-row
- +number-required('Partitions', affModel + '.Rendezvous.partitions', '"RendPartitions"', 'true', rendPartitionsRequired, '1024', '1', 'Number of partitions')
- .details-row
- +java-class('Backup filter', affModel + '.Rendezvous.affinityBackupFilter', '"RendAffinityBackupFilter"', 'true', 'false',
- 'Backups will be selected from all nodes that pass this filter')
- .details-row
- +checkbox('Exclude neighbors', affModel + '.Rendezvous.excludeNeighbors', '"RendExcludeNeighbors"',
- 'Exclude same - host - neighbors from being backups of each other and specified number of backups')
- .panel-details(ng-if=fairAff)
- .details-row
- +number-required('Partitions', affModel + '.Fair.partitions', '"FairPartitions"', 'true', fairPartitionsRequired, '256', '1', 'Number of partitions')
- .details-row
- +java-class('Backup filter', affModel + '.Fair.affinityBackupFilter', '"FairAffinityBackupFilter"', 'true', 'false',
- 'Backups will be selected from all nodes that pass this filter')
- .details-row
- +checkbox('Exclude neighbors', affModel + '.Fair.excludeNeighbors', '"FairExcludeNeighbors"',
- 'Exclude same - host - neighbors from being backups of each other and specified number of backups')
- .panel-details(ng-if=customAff)
- .details-row
- +java-class('Class name:', affModel + '.Custom.className', '"AffCustomClassName"', 'true', customAff,
- 'Custom key affinity function implementation class name')
- .settings-row
- +java-class('Mapper:', model + '.affinityMapper', '"AffMapCustomClassName"', 'true', 'false',
- 'Provide custom affinity key for any given key')
- .col-sm-6
- +preview-xml-java(model, 'cacheAffinity')
[15/17] ignite git commit: IGNITE-2466 - Use current NIO back
pressure mechanism to limit received messages. Mark them process only when
backups acknowledged.
Posted by sb...@apache.org.
IGNITE-2466 - Use current NIO back pressure mechanism to limit received messages. Mark them process only when backups acknowledged.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/220db882
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/220db882
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/220db882
Branch: refs/heads/ignite-4932
Commit: 220db882b466c03eadd148b3a19a0bf70d82d4a6
Parents: a039260
Author: dkarachentsev <dk...@gridgain.com>
Authored: Mon Apr 10 10:28:15 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Apr 10 10:28:15 2017 +0300
----------------------------------------------------------------------
.../managers/communication/GridIoManager.java | 12 +-
.../dht/atomic/GridDhtAtomicCache.java | 23 ++-
.../util/nio/GridNioBackPressureControl.java | 39 ++++-
.../util/nio/GridNioMessageTracker.java | 7 +
.../CacheAtomicPrimarySyncBackPressureTest.java | 151 +++++++++++++++++++
.../testsuites/IgniteCacheTestSuite4.java | 3 +
6 files changed, 220 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index bb3add4..dbd5db6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -738,7 +738,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
Runnable c = new Runnable() {
@Override public void run() {
try {
- threadProcessingMessage(true);
+ threadProcessingMessage(true, msgC);
GridMessageListener lsnr = listenerGet0(msg.topic());
@@ -752,7 +752,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
invokeListener(msg.policy(), lsnr, nodeId, obj);
}
finally {
- threadProcessingMessage(false);
+ threadProcessingMessage(false, null);
msgC.run();
}
@@ -787,12 +787,12 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
Runnable c = new Runnable() {
@Override public void run() {
try {
- threadProcessingMessage(true);
+ threadProcessingMessage(true, msgC);
processRegularMessage0(msg, nodeId);
}
finally {
- threadProcessingMessage(false);
+ threadProcessingMessage(false, null);
msgC.run();
}
@@ -1148,12 +1148,12 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
Runnable c = new Runnable() {
@Override public void run() {
try {
- threadProcessingMessage(true);
+ threadProcessingMessage(true, msgC);
unwindMessageSet(msgSet0, lsnr);
}
finally {
- threadProcessingMessage(false);
+ threadProcessingMessage(false, null);
}
}
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
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 463fc57..047be87 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
@@ -84,6 +84,8 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheVersionEx;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.future.GridEmbeddedFuture;
import org.apache.ignite.internal.util.future.GridFinishedFuture;
+import org.apache.ignite.internal.util.nio.GridNioBackPressureControl;
+import org.apache.ignite.internal.util.nio.GridNioMessageTracker;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.CI1;
@@ -92,14 +94,15 @@ import org.apache.ignite.internal.util.typedef.CO;
import org.apache.ignite.internal.util.typedef.CX1;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.P1;
-import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.A;
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.IgniteBiTuple;
import org.apache.ignite.lang.IgniteClosure;
+import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteOutClosure;
+import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
@@ -110,6 +113,7 @@ import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_DEFERRED_AC
import static org.apache.ignite.cache.CacheAtomicWriteOrderMode.CLOCK;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_ASYNC;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.PRIMARY_SYNC;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.DELETE;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRANSFORM;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.UPDATE;
@@ -1904,8 +1908,23 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (req.writeSynchronizationMode() != FULL_ASYNC)
req.cleanup(!node.isLocal());
- if (dhtFut != null)
+ if (dhtFut != null) {
+ if (req.writeSynchronizationMode() == PRIMARY_SYNC && !dhtFut.isDone()) {
+ final IgniteRunnable tracker = GridNioBackPressureControl.threadTracker();
+
+ if (tracker != null && tracker instanceof GridNioMessageTracker) {
+ ((GridNioMessageTracker)tracker).onMessageReceived();
+
+ dhtFut.listen(new IgniteInClosure<IgniteInternalFuture<Void>>() {
+ @Override public void apply(IgniteInternalFuture<Void> fut) {
+ ((GridNioMessageTracker)tracker).onMessageProcessed();
+ }
+ });
+ }
+ }
+
ctx.mvcc().addAtomicFuture(dhtFut.version(), dhtFut);
+ }
}
else
// Should remap all keys.
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
index 96a1ab3..37d985f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
@@ -17,14 +17,17 @@
package org.apache.ignite.internal.util.nio;
+import org.apache.ignite.lang.IgniteRunnable;
+import org.jetbrains.annotations.Nullable;
+
/**
* Utility class that allows to ignore back-pressure control for threads that are processing messages.
*/
public class GridNioBackPressureControl {
/** Thread local flag indicating that thread is processing message. */
- private static ThreadLocal<Boolean> threadProcMsg = new ThreadLocal<Boolean>() {
- @Override protected Boolean initialValue() {
- return Boolean.FALSE;
+ private static ThreadLocal<Holder> threadProcMsg = new ThreadLocal<Holder>() {
+ @Override protected Holder initialValue() {
+ return new Holder();
}
};
@@ -32,13 +35,35 @@ public class GridNioBackPressureControl {
* @return Flag indicating whether current thread is processing message.
*/
public static boolean threadProcessingMessage() {
- return threadProcMsg.get();
+ return threadProcMsg.get().procMsg;
}
/**
* @param processing Flag indicating whether current thread is processing message.
+ * @param tracker Thread local back pressure tracker of messages, associated with one connection.
+ */
+ public static void threadProcessingMessage(boolean processing, @Nullable IgniteRunnable tracker) {
+ Holder holder = threadProcMsg.get();
+
+ holder.procMsg = processing;
+ holder.tracker = tracker;
+ }
+
+ /**
+ * @return Thread local back pressure tracker of messages, associated with one connection.
*/
- public static void threadProcessingMessage(boolean processing) {
- threadProcMsg.set(processing);
+ @Nullable public static IgniteRunnable threadTracker() {
+ return threadProcMsg.get().tracker;
+ }
+
+ /**
+ *
+ */
+ private static class Holder {
+ /** Process message. */
+ private boolean procMsg;
+
+ /** Tracker. */
+ private IgniteRunnable tracker;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
index e02c7ca..f05ee0c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
@@ -93,6 +93,13 @@ public class GridNioMessageTracker implements IgniteRunnable {
}
/**
+ *
+ */
+ public void onMessageProcessed() {
+ run();
+ }
+
+ /**
*/
public void onMessageReceived() {
int cnt = msgCnt.incrementAndGet();
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
new file mode 100644
index 0000000..49e3e5c
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
@@ -0,0 +1,151 @@
+/*
+ * 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.IgniteException;
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheMemoryMode;
+import org.apache.ignite.cache.CacheWriteSynchronizationMode;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.IgniteKernal;
+import org.apache.ignite.internal.managers.communication.GridIoMessage;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicDeferredUpdateResponse;
+import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+/**
+ * Checks that back-pressure control restricts uncontrolled growing
+ * of backup message queue. This means, if queue too big - any reads
+ * will be stopped until received acks from backup nodes.
+ */
+public class CacheAtomicPrimarySyncBackPressureTest extends GridCommonAbstractTest {
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ CacheConfiguration ccfg = new CacheConfiguration("cache");
+
+ ccfg.setBackups(1);
+
+ ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.PRIMARY_SYNC);
+ ccfg.setMemoryMode(CacheMemoryMode.ONHEAP_TIERED);
+ ccfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
+
+ TestCommunicationSpi spi = new TestCommunicationSpi();
+
+ spi.setMessageQueueLimit(100);
+
+ cfg.setCommunicationSpi(spi);
+ cfg.setClientMode(gridName.contains("client"));
+ cfg.setCacheConfiguration(ccfg);
+
+ return cfg;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ stopAllGrids();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientPut() throws Exception {
+ Ignite srv1 = startGrid("server1");
+ Ignite srv2 = startGrid("server2");
+
+ final Ignite client = startGrid("client");
+
+ checkBackPressure(client, srv1, srv2);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testServerPut() throws Exception {
+ Ignite srv1 = startGrid("server1");
+ Ignite srv2 = startGrid("server2");
+
+ final Ignite client = startGrid("server3");
+
+ checkBackPressure(client, srv1, srv2);
+ }
+
+ /**
+ * @param client Producer node.
+ * @throws InterruptedException If failed.
+ */
+ private void checkBackPressure(Ignite client, final Ignite srv1, final Ignite srv2) throws Exception {
+ final IgniteCache<Integer, String> cache = client.cache("cache");
+
+ awaitPartitionMapExchange();
+
+ for (int i = 0; i < 10000; i++) {
+ cache.put(i, String.valueOf(i));
+
+ if (i % 100 == 0) {
+ int size1 = futuresNum(srv1);
+ int size2 = futuresNum(srv2);
+
+ assert size1 < 150 : size1;
+ assert size2 < 150 : size2;
+ }
+ }
+ }
+
+ /**
+ * @param ignite Ignite.
+ * @return Size of the backup queue.
+ */
+ private int futuresNum(Ignite ignite) {
+ return ((IgniteKernal)ignite).context().cache().context().mvcc().atomicFutures().size();
+ }
+
+ /**
+ * Delays backup update acks.
+ */
+ private static class TestCommunicationSpi extends TcpCommunicationSpi {
+ /** {@inheritDoc} */
+ @Override public void sendMessage(ClusterNode node, Message msg,
+ IgniteInClosure<IgniteException> ackC) throws IgniteSpiException {
+ if (((GridIoMessage)msg).message() instanceof GridDhtAtomicDeferredUpdateResponse)
+ sleep(100);
+
+ super.sendMessage(node, msg, ackC);
+ }
+ }
+
+ /**
+ * @param millis Millis.
+ */
+ private static void sleep(long millis) {
+ try {
+ Thread.sleep(millis);
+ }
+ catch (InterruptedException e) {
+ throw new IgniteSpiException(e);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/220db882/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index 5a09a1c..9fcf31a 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@ -94,6 +94,7 @@ import org.apache.ignite.internal.processors.cache.IgniteStartCacheInTransaction
import org.apache.ignite.internal.processors.cache.IgniteSystemCacheOnClientTest;
import org.apache.ignite.internal.processors.cache.MarshallerCacheJobRunNodeRestartTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheAffinityEarlyTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheAtomicPrimarySyncBackPressureTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheGetFutureHangsSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheNoValueClassOnServerNodeTest;
import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheCreatePutMultiNodeSelfTest;
@@ -334,6 +335,8 @@ public class IgniteCacheTestSuite4 extends TestSuite {
suite.addTestSuite(IgniteCacheNearOnlyTxTest.class);
+ suite.addTestSuite(CacheAtomicPrimarySyncBackPressureTest.class);
+
return suite;
}
}
\ No newline at end of file
[14/17] ignite git commit: IGNITE-4832: Prevent service deployment on
client by default when configuration is provided on startup. This closes
#1748.
Posted by sb...@apache.org.
IGNITE-4832: Prevent service deployment on client by default when configuration is provided on startup. This closes #1748.
(cherry picked from commit b7ab273)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a0392605
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a0392605
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a0392605
Branch: refs/heads/ignite-4932
Commit: a0392605f39c23fcd20c98d852c4cab749cd059b
Parents: b8e3d1b
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Thu Apr 6 14:43:50 2017 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Fri Apr 7 13:11:30 2017 +0300
----------------------------------------------------------------------
.../service/GridServiceProcessor.java | 10 +-
.../GridServiceProcessorAbstractSelfTest.java | 11 ++
...ServiceProcessorMultiNodeConfigSelfTest.java | 74 ++++++++--
.../GridServiceProcessorMultiNodeSelfTest.java | 139 ++++++++++++++++---
4 files changed, 202 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a0392605/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index adfbc11..d0b2733 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@ -70,11 +70,11 @@ import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.cache.query.CacheQuery;
import org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager;
import org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
-import org.apache.ignite.internal.processors.continuous.AbstractContinuousMessage;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
import org.apache.ignite.internal.util.GridEmptyIterator;
import org.apache.ignite.internal.util.GridSpinBusyLock;
+import org.apache.ignite.internal.util.SerializableTransient;
import org.apache.ignite.internal.util.future.GridCompoundFuture;
import org.apache.ignite.internal.util.future.GridFinishedFuture;
import org.apache.ignite.internal.util.future.GridFutureAdapter;
@@ -92,7 +92,6 @@ import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
-import org.apache.ignite.internal.util.SerializableTransient;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.resources.JobContextResource;
import org.apache.ignite.resources.LoggerResource;
@@ -296,8 +295,13 @@ public class GridServiceProcessor extends GridProcessorAdapter {
if (cfgs != null) {
Collection<IgniteInternalFuture<?>> futs = new ArrayList<>();
- for (ServiceConfiguration c : ctx.config().getServiceConfiguration())
+ for (ServiceConfiguration c : cfgs) {
+ // Deploy only on server nodes by default.
+ if (c.getNodeFilter() == null)
+ c.setNodeFilter(ctx.cluster().get().forServers().predicate());
+
futs.add(deploy(c));
+ }
// Await for services to deploy.
for (IgniteInternalFuture<?> f : futs)
http://git-wip-us.apache.org/repos/asf/ignite/blob/a0392605/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorAbstractSelfTest.java
index 111cb71..0f79855 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorAbstractSelfTest.java
@@ -129,6 +129,17 @@ public abstract class GridServiceProcessorAbstractSelfTest extends GridCommonAbs
startGrid(nodeCount() + i);
}
+ /** */
+ protected void startExtraNodes(int servers, int clients) throws Exception {
+ startExtraNodes(servers);
+
+ for (int i = 0; i < clients; i++) {
+ final String nodeName = getTestGridName(nodeCount() + servers + i);
+
+ startGrid(nodeName, getConfiguration(nodeName).setClientMode(true));
+ }
+ }
+
/**
* @throws Exception If failed.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/a0392605/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeConfigSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeConfigSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeConfigSelfTest.java
index b819cc9..1bd3b03 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeConfigSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeConfigSelfTest.java
@@ -19,7 +19,9 @@ package org.apache.ignite.internal.processors.service;
import java.util.concurrent.CountDownLatch;
import org.apache.ignite.Ignite;
+import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.util.lang.GridAbsPredicateX;
+import org.apache.ignite.services.Service;
import org.apache.ignite.services.ServiceConfiguration;
import org.apache.ignite.testframework.GridTestUtils;
@@ -33,6 +35,9 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
/** Node singleton name. */
private static final String NODE_SINGLE = "serviceConfigEachNode";
+ /** Node singleton name. */
+ private static final String NODE_SINGLE_BUT_CLIENT = "serviceConfigEachNodeButClient";
+
/** Affinity service name. */
private static final String AFFINITY = "serviceConfigAffinity";
@@ -46,7 +51,7 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
/** {@inheritDoc} */
@Override protected ServiceConfiguration[] services() {
- ServiceConfiguration[] arr = new ServiceConfiguration[3];
+ ServiceConfiguration[] arr = new ServiceConfiguration[4];
ServiceConfiguration cfg = new ServiceConfiguration();
@@ -59,7 +64,7 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
cfg = new ServiceConfiguration();
- cfg.setName(NODE_SINGLE);
+ cfg.setName(NODE_SINGLE_BUT_CLIENT);
cfg.setMaxPerNodeCount(1);
cfg.setService(new DummyService());
@@ -76,6 +81,15 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
arr[2] = cfg;
+ cfg = new ServiceConfiguration();
+
+ cfg.setName(NODE_SINGLE);
+ cfg.setMaxPerNodeCount(1);
+ cfg.setNodeFilter(new CacheConfiguration.IgniteAllNodesPredicate());
+ cfg.setService(new DummyService());
+
+ arr[3] = cfg;
+
return arr;
}
@@ -91,6 +105,8 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
DummyService.cancelled(CLUSTER_SINGLE) == 0 &&
DummyService.started(NODE_SINGLE) == nodeCount() &&
DummyService.cancelled(NODE_SINGLE) == 0 &&
+ DummyService.started(NODE_SINGLE_BUT_CLIENT) == nodeCount() &&
+ DummyService.cancelled(NODE_SINGLE_BUT_CLIENT) == 0 &&
actualCount(AFFINITY, randomGrid().services().serviceDescriptors()) == 1;
}
},
@@ -115,11 +131,22 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
/**
* @throws Exception If failed.
*/
+ public void testDeployOnEachNodeButClientUpdateTopology() throws Exception {
+ checkDeployOnEachNodeButClientUpdateTopology(NODE_SINGLE_BUT_CLIENT);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
public void testAll() throws Exception {
checkSingletonUpdateTopology(CLUSTER_SINGLE);
DummyService.reset();
+ checkDeployOnEachNodeButClientUpdateTopology(NODE_SINGLE_BUT_CLIENT);
+
+ DummyService.reset();
+
checkDeployOnEachNodeUpdateTopology(NODE_SINGLE);
DummyService.reset();
@@ -152,9 +179,7 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
private void checkSingletonUpdateTopology(String name) throws Exception {
Ignite g = randomGrid();
- int nodeCnt = 2;
-
- startExtraNodes(nodeCnt);
+ startExtraNodes(2, 2);
try {
assertEquals(name, 0, DummyService.started(name));
@@ -165,7 +190,7 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
checkCount(name, g.services().serviceDescriptors(), 1);
}
finally {
- stopExtraNodes(nodeCnt);
+ stopExtraNodes(4);
}
}
@@ -176,17 +201,21 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
private void checkDeployOnEachNodeUpdateTopology(String name) throws Exception {
Ignite g = randomGrid();
- int newNodes = 2;
+ int newNodes = 4;
CountDownLatch latch = new CountDownLatch(newNodes);
DummyService.exeLatch(name, latch);
- startExtraNodes(newNodes);
+ startExtraNodes(2, 2);
try {
latch.await();
+ // Ensure service is deployed.
+ assertNotNull(grid(nodeCount() + newNodes - 1).services()
+ .serviceProxy(NODE_SINGLE_BUT_CLIENT, Service.class, false, 2000));
+
assertEquals(name, newNodes, DummyService.started(name));
assertEquals(name, 0, DummyService.cancelled(name));
@@ -196,4 +225,33 @@ public class GridServiceProcessorMultiNodeConfigSelfTest extends GridServiceProc
stopExtraNodes(newNodes);
}
}
+
+ /**
+ * @param name Name.
+ * @throws Exception If failed.
+ */
+ private void checkDeployOnEachNodeButClientUpdateTopology(String name) throws Exception {
+ Ignite g = randomGrid();
+
+ int servers = 2;
+ int clients = 2;
+
+ CountDownLatch latch = new CountDownLatch(servers);
+
+ DummyService.exeLatch(name, latch);
+
+ startExtraNodes(servers, clients);
+
+ try {
+ latch.await();
+
+ assertEquals(name, servers, DummyService.started(name));
+ assertEquals(name, 0, DummyService.cancelled(name));
+
+ checkCount(name, g.services().serviceDescriptors(), nodeCount() + servers);
+ }
+ finally {
+ stopExtraNodes(servers + clients);
+ }
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/a0392605/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeSelfTest.java
index 39336ef..f7403dc 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorMultiNodeSelfTest.java
@@ -21,7 +21,10 @@ import java.util.concurrent.CountDownLatch;
import junit.framework.TestCase;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteServices;
+import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.lang.IgniteFuture;
+import org.apache.ignite.services.Service;
+import org.apache.ignite.services.ServiceConfiguration;
/**
* Single node services test.
@@ -121,50 +124,144 @@ public class GridServiceProcessorMultiNodeSelfTest extends GridServiceProcessorA
/**
* @throws Exception If failed.
*/
- public void testDeployOnEachNodeUpdateTopology() throws Exception {
- String name = "serviceOnEachNodeUpdateTopology";
+ public void testDeployOnEachNodeButClientUpdateTopology() throws Exception {
+ // Prestart client node.
+ Ignite client = startGrid("client", getConfiguration("client").setClientMode(true));
- Ignite g = randomGrid();
+ try {
+ final int prestartedNodes = nodeCount() + 1;
- CountDownLatch latch = new CountDownLatch(nodeCount());
+ String name = "serviceOnEachNodeButClientUpdateTopology";
- DummyService.exeLatch(name, latch);
+ Ignite g = randomGrid();
- IgniteServices svcs = g.services().withAsync();
+ CountDownLatch latch = new CountDownLatch(nodeCount());
- svcs.deployNodeSingleton(name, new DummyService());
+ DummyService.exeLatch(name, latch);
- IgniteFuture<?> fut = svcs.future();
+ IgniteServices svcs = g.services().withAsync();
- info("Deployed service: " + name);
+ svcs.deployNodeSingleton(name, new DummyService());
- fut.get();
+ IgniteFuture<?> fut = svcs.future();
- info("Finished waiting for service future: " + name);
+ info("Deployed service: " + name);
- latch.await();
+ fut.get();
- TestCase.assertEquals(name, nodeCount(), DummyService.started(name));
- TestCase.assertEquals(name, 0, DummyService.cancelled(name));
+ info("Finished waiting for service future: " + name);
- int newNodes = 2;
+ latch.await();
- latch = new CountDownLatch(newNodes);
+ // Ensure service is deployed
+ assertNotNull(client.services().serviceProxy(name, Service.class, false, 2000));
- DummyService.exeLatch(name, latch);
+ TestCase.assertEquals(name, nodeCount(), DummyService.started(name));
+ TestCase.assertEquals(name, 0, DummyService.cancelled(name));
+
+ int servers = 2;
+ int clients = 2;
+
+ latch = new CountDownLatch(servers);
+
+ DummyService.exeLatch(name, latch);
+
+ startExtraNodes(servers, clients);
+
+ try {
+ latch.await();
+
+ // Ensure service is deployed
+ assertNotNull(grid(prestartedNodes + servers - 1)
+ .services().serviceProxy(name, Service.class, false, 2000));
+
+ TestCase.assertEquals(name, nodeCount() + servers, DummyService.started(name));
+ TestCase.assertEquals(name, 0, DummyService.cancelled(name));
+
+ checkCount(name, g.services().serviceDescriptors(), nodeCount() + servers);
+ }
+ finally {
+ stopExtraNodes(servers + clients);
+ }
+ }
+ finally {
+ stopGrid("client");
+ }
+ }
- startExtraNodes(newNodes);
+ /**
+ * @throws Exception If failed.
+ */
+ public void testDeployOnEachNodeUpdateTopology() throws Exception {
+ // Prestart client node.
+ Ignite client = startGrid("client", getConfiguration("client").setClientMode(true));
try {
+ String name = "serviceOnEachNodeUpdateTopology";
+
+ Ignite g = randomGrid();
+
+ final int prestartedNodes = nodeCount() + 1;
+
+ CountDownLatch latch = new CountDownLatch(prestartedNodes);
+
+ DummyService.exeLatch(name, latch);
+
+ ServiceConfiguration srvcCfg = new ServiceConfiguration();
+
+ srvcCfg.setNodeFilter(new CacheConfiguration.IgniteAllNodesPredicate());
+ srvcCfg.setName(name);
+ srvcCfg.setMaxPerNodeCount(1);
+ srvcCfg.setService(new DummyService());
+
+ IgniteServices svcs = g.services().withAsync();
+
+ svcs.deploy(srvcCfg);
+
+ IgniteFuture<?> fut = svcs.future();
+
+ info("Deployed service: " + name);
+
+ fut.get();
+
+ info("Finished waiting for service future: " + name);
+
latch.await();
- TestCase.assertEquals(name, nodeCount() + newNodes, DummyService.started(name));
+ // Ensure service is deployed
+ assertNotNull(client.services().serviceProxy(name, Service.class, false, 2000));
+
+ TestCase.assertEquals(name, prestartedNodes, DummyService.started(name));
TestCase.assertEquals(name, 0, DummyService.cancelled(name));
- checkCount(name, g.services().serviceDescriptors(), nodeCount() + newNodes);
+ int servers = 2;
+ int clients = 2;
+
+ int extraNodes = servers + clients;
+
+ latch = new CountDownLatch(extraNodes);
+
+ DummyService.exeLatch(name, latch);
+
+ startExtraNodes(servers, clients);
+
+ try {
+ latch.await();
+
+ // Ensure service is deployed
+ assertNotNull(client.services().serviceProxy(name, Service.class, false, 2000));
+
+ TestCase.assertEquals(name, prestartedNodes + extraNodes, DummyService.started(name));
+ TestCase.assertEquals(name, 0, DummyService.cancelled(name));
+
+ checkCount(name, g.services().serviceDescriptors(), prestartedNodes + extraNodes);
+ }
+ finally {
+ stopExtraNodes(extraNodes);
+ }
}
finally {
- stopExtraNodes(newNodes);
+ stopGrid("client");
}
}
}
\ No newline at end of file
[17/17] ignite git commit: IGNITE-4863: Disallow change RootLogger
log-level if it can have negative effect on other loggers. This closes #1687.
Posted by sb...@apache.org.
IGNITE-4863: Disallow change RootLogger log-level if it can have negative effect on other loggers. This closes #1687.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/01ceeb13
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/01ceeb13
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/01ceeb13
Branch: refs/heads/ignite-4932
Commit: 01ceeb13420b68edf12b0262fe0991e84c085dd8
Parents: bb3ff12
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Thu Apr 6 14:43:50 2017 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Mon Apr 10 17:12:12 2017 +0300
----------------------------------------------------------------------
.../apache/ignite/logger/log4j/Log4JLogger.java | 64 +++++-
.../log4j/GridLog4jInitializationTest.java | 212 +++++++++++++++++++
.../logger/log4j/GridLog4jInitializedTest.java | 55 -----
.../log4j/GridLog4jNotInitializedTest.java | 46 ----
.../ignite/testsuites/IgniteLog4jTestSuite.java | 6 +-
5 files changed, 268 insertions(+), 115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/01ceeb13/modules/log4j/src/main/java/org/apache/ignite/logger/log4j/Log4JLogger.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/main/java/org/apache/ignite/logger/log4j/Log4JLogger.java b/modules/log4j/src/main/java/org/apache/ignite/logger/log4j/Log4JLogger.java
index d5b0f02..f6ed830 100644
--- a/modules/log4j/src/main/java/org/apache/ignite/logger/log4j/Log4JLogger.java
+++ b/modules/log4j/src/main/java/org/apache/ignite/logger/log4j/Log4JLogger.java
@@ -35,10 +35,12 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.logger.LoggerNodeIdAware;
import org.apache.log4j.Appender;
+import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Category;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.varia.LevelRangeFilter;
@@ -78,6 +80,9 @@ import static org.apache.ignite.IgniteSystemProperties.IGNITE_QUIET;
* injection.
*/
public class Log4JLogger implements IgniteLogger, LoggerNodeIdAware, Log4jFileAware {
+ /** */
+ public static final String CONSOLE_ERR_APPENDER_NAME = "CONSOLE_ERR";
+
/** Appenders. */
private static Collection<FileAppender> fileAppenders = new GridConcurrentHashSet<>();
@@ -308,7 +313,7 @@ public class Log4JLogger implements IgniteLogger, LoggerNodeIdAware, Log4jFileAw
Appender appender = (Appender)appenders.nextElement();
if (appender instanceof ConsoleAppender) {
- if ("CONSOLE_ERR".equals(appender.getName())) {
+ if (CONSOLE_ERR_APPENDER_NAME.equals(appender.getName())) {
// Treat CONSOLE_ERR appender as a system one and don't count it.
errAppender = (ConsoleAppender)appender;
@@ -347,17 +352,27 @@ public class Log4JLogger implements IgniteLogger, LoggerNodeIdAware, Log4jFileAw
if (errAppender.getThreshold() == Level.ERROR)
errAppender.setThreshold(Level.WARN);
}
- else
- // No error console appender => create console appender with no level limit.
- rootCategory.addAppender(createConsoleAppender(Level.OFF));
+ else {
+ // No error console appender => create console appender with.
+ final AppenderSkeleton consoleAppender = createConsoleAppender(Level.OFF);
+
+ consoleAppender.setThreshold(Level.INFO);
- if (logLevel != null)
+ rootCategory.addAppender(consoleAppender);
+ }
+
+ // Won't raise LogLevel if there is other loggers configured. As LogLevel can be inherited.
+ if (logLevel != null && !logLevel.isGreaterOrEqual(impl.getEffectiveLevel())) {
impl.setLevel(logLevel);
- }
- // If still don't have appenders, disable logging.
- if (!isConfigured())
+ impl.warn("RootLogger logging level has been dropped by Apache Ignite.\n"+
+ "Set lower log level or configure ConsoleAppender manually or disable ConsoleAppender automatic creation.");
+ }
+ }
+ else if (!isConfigured() && !hasOtherLoggers()) {
+ // If still don't have appenders and other loggers configured, disable logging.
impl.setLevel(Level.OFF);
+ }
quiet0 = quiet;
inited = true;
@@ -365,16 +380,34 @@ public class Log4JLogger implements IgniteLogger, LoggerNodeIdAware, Log4jFileAw
}
/**
+ * Checks if there is other loggers configured.
+ *
+ * @return {@code True} if other logger found.
+ */
+ private boolean hasOtherLoggers() {
+ final Enumeration loggers = LogManager.getCurrentLoggers();
+
+ while (loggers.hasMoreElements()) {
+ Logger c = (Logger)loggers.nextElement();
+
+ if (c != impl && c.getAllAppenders().hasMoreElements())
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
* Creates console appender with some reasonable default logging settings.
*
* @param maxLevel Max logging level.
* @return New console appender.
*/
- private Appender createConsoleAppender(Level maxLevel) {
+ private AppenderSkeleton createConsoleAppender(Level maxLevel) {
String fmt = "[%d{ABSOLUTE}][%-5p][%t][%c{1}] %m%n";
// Configure output that should go to System.out
- Appender app = new ConsoleAppender(new PatternLayout(fmt), ConsoleAppender.SYSTEM_OUT);
+ AppenderSkeleton app = new ConsoleAppender(new PatternLayout(fmt), ConsoleAppender.SYSTEM_OUT);
LevelRangeFilter lvlFilter = new LevelRangeFilter();
@@ -532,4 +565,15 @@ public class Log4JLogger implements IgniteLogger, LoggerNodeIdAware, Log4jFileAw
}
}
}
+
+ /**
+ * For test purposes only.
+ */
+ static void reset(){
+ inited = false;
+
+ quiet0 = false;
+
+ fileAppenders.clear();
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/01ceeb13/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializationTest.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializationTest.java b/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializationTest.java
new file mode 100644
index 0000000..2a98490
--- /dev/null
+++ b/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializationTest.java
@@ -0,0 +1,212 @@
+/*
+ * 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.logger.log4j;
+
+import junit.framework.TestCase;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.testframework.junits.common.GridCommonTest;
+import org.apache.log4j.BasicConfigurator;
+import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.log4j.varia.NullAppender;
+
+/**
+ * Log4j not initialized test.
+ */
+@GridCommonTest(group = "Logger")
+public class GridLog4jInitializationTest extends TestCase {
+ /** */
+ private static final boolean VERBOSE = true;
+
+ /** {@inheritDoc} */
+ @Override public void setUp() throws Exception {
+ super.setUp();
+
+ resetLogger();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void tearDown() throws Exception {
+ super.tearDown();
+
+ resetLogger();
+ }
+
+ /** */
+ private void resetLogger() {
+ Log4JLogger.reset();
+
+ LogManager.resetConfiguration();
+
+ System.clearProperty(IgniteSystemProperties.IGNITE_QUIET);
+ }
+
+ /** */
+ public void testLogNotInitialized() {
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertTrue(log instanceof Log4JLogger);
+
+ assertEquals(Level.OFF, LogManager.getRootLogger().getEffectiveLevel());
+ }
+
+ /** */
+ public void testLogInitialized() {
+ BasicConfigurator.configure();
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertTrue(log instanceof Log4JLogger);
+
+ assertEquals(Level.DEBUG, LogManager.getRootLogger().getEffectiveLevel());
+ }
+
+ /** */
+ public void testNoAppendersConfigured() {
+ LogManager.getRootLogger().setLevel(Level.WARN);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ assertEquals(Level.WARN, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.OFF, logger.getEffectiveLevel());
+ }
+
+ /** */
+ public void testAutoAddConsoleAppender() {
+ System.setProperty(IgniteSystemProperties.IGNITE_QUIET, String.valueOf(false));
+
+ LogManager.getRootLogger().setLevel(Level.WARN);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ assertEquals(Level.WARN, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.INFO, logger.getEffectiveLevel()); // LogLevel is allowed to be dropped.
+ }
+
+ /** */
+ public void testAutoAddConsoleAppender2() {
+ System.setProperty(IgniteSystemProperties.IGNITE_QUIET, String.valueOf(false));
+
+ LogManager.getRootLogger().setLevel(Level.DEBUG);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel()); // LogLevel should not change.
+ }
+
+ /** */
+ public void testOtherLoggerConfigured() {
+ LogManager.getRootLogger().setLevel(Level.DEBUG);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ logger.addAppender(new NullAppender());
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel()); // LogLevel should not be OFF.
+ }
+
+ /** */
+ public void testAutoAddConsoleAppenderWithOtherLoggerConfigured() {
+ System.setProperty(IgniteSystemProperties.IGNITE_QUIET, String.valueOf(false));
+
+ LogManager.getRootLogger().setLevel(Level.DEBUG);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ logger.addAppender(new NullAppender());
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.DEBUG, logger.getEffectiveLevel()); // LogLevel should not be raised.
+ }
+
+ /** */
+ public void testAutoAddConsoleAppenderWithOtherLoggerConfigured2() {
+ System.setProperty(IgniteSystemProperties.IGNITE_QUIET, String.valueOf(false));
+
+ LogManager.getRootLogger().setLevel(Level.WARN);
+
+ final Logger logger = LogManager.getLogger(GridLog4jInitializationTest.class);
+
+ logger.addAppender(new NullAppender());
+
+ assertEquals(Level.WARN, logger.getEffectiveLevel());
+
+ IgniteLogger log = new Log4JLogger().getLogger(GridLog4jInitializationTest.class);
+
+ if (VERBOSE)
+ printLoggerResults(log);
+
+ assertEquals(Level.INFO, logger.getEffectiveLevel()); // LogLevel is allowed to be dropped.
+ }
+
+ /** */
+ private void printLoggerResults(IgniteLogger log) {
+ if (log.isDebugEnabled())
+ log.debug("This is 'debug' message.");
+ else
+ System.out.println("DEBUG level is not enabled.");
+
+ if (log.isInfoEnabled())
+ log.info("This is 'info' message.");
+ else
+ System.out.println("INFO level is not enabled.");
+
+ log.warning("This is 'warning' message.");
+ log.error("This is 'error' message.");
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/01ceeb13/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializedTest.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializedTest.java b/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializedTest.java
deleted file mode 100644
index 94907f0..0000000
--- a/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jInitializedTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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.logger.log4j;
-
-import junit.framework.TestCase;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.testframework.junits.common.GridCommonTest;
-import org.apache.log4j.BasicConfigurator;
-
-/**
- * Log4j initialized test.
- */
-@GridCommonTest(group = "Logger")
-public class GridLog4jInitializedTest extends TestCase {
-
- /**
- * @throws Exception If failed.
- */
- @Override protected void setUp() throws Exception {
- BasicConfigurator.configure();
- }
-
- /** */
- public void testLogInitialize() {
- IgniteLogger log = new Log4JLogger();
-
- assert log.isInfoEnabled() == true;
-
- if (log.isDebugEnabled())
- log.debug("This is 'debug' message.");
-
- log.info("This is 'info' message.");
- log.warning("This is 'warning' message.");
- log.warning("This is 'warning' message.", new Exception("It's a test warning exception"));
- log.error("This is 'error' message.");
- log.error("This is 'error' message.", new Exception("It's a test error exception"));
-
- assert log.getLogger(GridLog4jInitializedTest.class.getName()) instanceof Log4JLogger;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/01ceeb13/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jNotInitializedTest.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jNotInitializedTest.java b/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jNotInitializedTest.java
deleted file mode 100644
index 390fdcb..0000000
--- a/modules/log4j/src/test/java/org/apache/ignite/logger/log4j/GridLog4jNotInitializedTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.logger.log4j;
-
-import junit.framework.TestCase;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.testframework.junits.common.GridCommonTest;
-
-/**
- * Log4j not initialized test.
- */
-@GridCommonTest(group = "Logger")
-public class GridLog4jNotInitializedTest extends TestCase {
- /** */
- public void testLogInitialize() {
- IgniteLogger log = new Log4JLogger().getLogger(GridLog4jNotInitializedTest.class);
-
- if (log.isDebugEnabled())
- log.debug("This is 'debug' message.");
- else
- System.out.println("DEBUG level is not enabled.");
-
- if (log.isInfoEnabled())
- log.info("This is 'info' message.");
- else
- System.out.println("INFO level is not enabled.");
-
- log.warning("This is 'warning' message.");
- log.error("This is 'error' message.");
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/01ceeb13/modules/log4j/src/test/java/org/apache/ignite/testsuites/IgniteLog4jTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/test/java/org/apache/ignite/testsuites/IgniteLog4jTestSuite.java b/modules/log4j/src/test/java/org/apache/ignite/testsuites/IgniteLog4jTestSuite.java
index f5f13d9..e20d32c 100644
--- a/modules/log4j/src/test/java/org/apache/ignite/testsuites/IgniteLog4jTestSuite.java
+++ b/modules/log4j/src/test/java/org/apache/ignite/testsuites/IgniteLog4jTestSuite.java
@@ -19,8 +19,7 @@ package org.apache.ignite.testsuites;
import junit.framework.TestSuite;
import org.apache.ignite.logger.log4j.GridLog4jCorrectFileNameTest;
-import org.apache.ignite.logger.log4j.GridLog4jInitializedTest;
-import org.apache.ignite.logger.log4j.GridLog4jNotInitializedTest;
+import org.apache.ignite.logger.log4j.GridLog4jInitializationTest;
/**
* Log4j logging tests.
@@ -33,8 +32,7 @@ public class IgniteLog4jTestSuite extends TestSuite {
public static TestSuite suite() throws Exception {
TestSuite suite = new TestSuite("Log4j Logging Test Suite");
- suite.addTest(new TestSuite(GridLog4jInitializedTest.class));
- suite.addTest(new TestSuite(GridLog4jNotInitializedTest.class));
+ suite.addTest(new TestSuite(GridLog4jInitializationTest.class));
suite.addTest(new TestSuite(GridLog4jCorrectFileNameTest.class));
return suite;
[08/17] ignite git commit: Merge branch 'ignite-1.7.9-p1' into
ignite-1.9.2
Posted by sb...@apache.org.
Merge branch 'ignite-1.7.9-p1' into ignite-1.9.2
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9b9c3250
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9b9c3250
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9b9c3250
Branch: refs/heads/ignite-4932
Commit: 9b9c32502764062f30d99337355ea400b7f29295
Parents: 8b3860f d124004
Author: dkarachentsev <dk...@gridgain.com>
Authored: Wed Mar 22 15:33:33 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Wed Mar 22 15:33:33 2017 +0300
----------------------------------------------------------------------
.../ignite/internal/GridKernalGatewayImpl.java | 8 +-
.../apache/ignite/internal/IgniteKernal.java | 120 +++++-
.../internal/IgniteNeedReconnectException.java | 40 ++
.../discovery/GridDiscoveryManager.java | 24 ++
.../GridCachePartitionExchangeManager.java | 25 +-
.../dht/GridDhtAssignmentFetchFuture.java | 13 +-
.../GridDhtPartitionsExchangeFuture.java | 46 ++-
.../service/GridServiceProcessor.java | 101 ++---
.../ignite/spi/discovery/tcp/ClientImpl.java | 201 ++++++++--
.../ignite/spi/discovery/tcp/ServerImpl.java | 5 +
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 8 +
.../spi/discovery/tcp/TcpDiscoverySpi.java | 9 +
.../IgniteClientReconnectCacheTest.java | 7 +-
.../ignite/internal/IgniteClientRejoinTest.java | 378 +++++++++++++++++++
.../GridServiceProcessorStopSelfTest.java | 75 ++++
.../tcp/TcpClientDiscoverySpiSelfTest.java | 48 ++-
.../IgniteClientReconnectTestSuite.java | 2 +
17 files changed, 1012 insertions(+), 98 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index a3d8c7b,25f7884..084ffa6
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@@ -3561,25 -3576,45 +3617,65 @@@ public class IgniteKernal implements Ig
}
/**
+ * @param node Node.
+ * @param payload Message payload.
+ * @param procFromNioThread If {@code true} message is processed from NIO thread.
+ * @return Response future.
+ */
+ public IgniteInternalFuture sendIoTest(ClusterNode node, byte[] payload, boolean procFromNioThread) {
+ return ctx.io().sendIoTest(node, payload, procFromNioThread);
+ }
+
+ /**
+ * @param nodes Nodes.
+ * @param payload Message payload.
+ * @param procFromNioThread If {@code true} message is processed from NIO thread.
+ * @return Response future.
+ */
+ public IgniteInternalFuture sendIoTest(List<ClusterNode> nodes, byte[] payload, boolean procFromNioThread) {
+ return ctx.io().sendIoTest(nodes, payload, procFromNioThread);
+ }
+
++ /**
+ *
+ */
+ private class ReconnectState {
+ /** */
+ private final GridFutureAdapter firstReconnectFut = new GridFutureAdapter();
+
+ /** */
+ private GridCompoundFuture<?, Object> curReconnectFut;
+
+ /** */
+ private GridFutureAdapter<?> reconnectDone;
+
+ /**
+ * @throws IgniteCheckedException If failed.
+ */
+ void waitFirstReconnect() throws IgniteCheckedException {
+ firstReconnectFut.get();
+ }
+
+ /**
+ *
+ */
+ void waitPreviousReconnect() {
+ if (curReconnectFut != null && !curReconnectFut.isDone()) {
+ assert reconnectDone != null;
+
+ curReconnectFut.onDone(STOP_RECONNECT);
+
+ try {
+ reconnectDone.get();
+ }
+ catch (IgniteCheckedException ignote) {
+ // No-op.
+ }
+ }
+
+ }
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(IgniteKernal.class, this);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index f7f370e,bd81518..6ced5e6
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@@ -1399,7 -1399,7 +1399,7 @@@ public class GridServiceProcessor exten
return;
try {
- depExe.execute(new BusyRunnable() {
- depExe.submit(new DepRunnable() {
++ depExe.execute(new DepRunnable() {
@Override public void run0() {
onSystemCacheUpdated(deps);
}
@@@ -1586,7 -1586,7 +1586,7 @@@
else
topVer = new AffinityTopologyVersion(((DiscoveryEvent)evt).topologyVersion(), 0);
- depExe.execute(new BusyRunnable() {
- depExe.submit(new DepRunnable() {
++ depExe.execute(new DepRunnable() {
@Override public void run0() {
ClusterNode oldest = ctx.discovery().oldestAliveCacheServerNode(topVer);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b9c3250/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProcessorStopSelfTest.java
----------------------------------------------------------------------
[04/17] ignite git commit: Merge ignite-1.8.4 into ignite-1.9.2
Posted by sb...@apache.org.
Merge ignite-1.8.4 into ignite-1.9.2
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8078c877
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8078c877
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8078c877
Branch: refs/heads/ignite-4932
Commit: 8078c87769a0892d25defdb3bab14a5d076e878c
Parents: 3a496d8 2263283
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Tue Mar 21 14:46:50 2017 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Tue Mar 21 14:46:50 2017 +0300
----------------------------------------------------------------------
.../affinity/fair/FairAffinityFunction.java | 33 ++---
.../affinity/fair/FairAffinityNodesRestart.java | 130 +++++++++++++++++++
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
3 files changed, 149 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8078c877/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
[13/17] ignite git commit: IGNITE-4917: Fixed failure when accessing
BinaryObjectBuilder field value serialized with OptimizedMarshaller . This
closes #1736.
Posted by sb...@apache.org.
IGNITE-4917: Fixed failure when accessing BinaryObjectBuilder field value serialized with OptimizedMarshaller . This closes #1736.
(cherry picked from commit 443ac9a)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b8e3d1b6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b8e3d1b6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b8e3d1b6
Branch: refs/heads/ignite-4932
Commit: b8e3d1b6f972b6d30657b7c85c8b34506dc29b88
Parents: b78aebe
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Wed Apr 5 15:01:02 2017 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Fri Apr 7 13:06:17 2017 +0300
----------------------------------------------------------------------
.../ignite/internal/binary/builder/BinaryBuilderReader.java | 8 ++++++++
.../internal/binary/mutabletest/GridBinaryTestClasses.java | 9 +++++++++
2 files changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b8e3d1b6/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
index baaabd6..02264e3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
@@ -476,6 +476,14 @@ public class BinaryBuilderReader implements BinaryPositionReadable {
return new BinaryPlainBinaryObject(binaryObj);
}
+ case GridBinaryMarshaller.OPTM_MARSH: {
+ final BinaryHeapInputStream bin = BinaryHeapInputStream.create(arr, pos + 1);
+
+ final Object obj = BinaryUtils.doReadOptimized(bin, ctx, U.resolveClassLoader(ctx.configuration()));
+
+ return obj;
+ }
+
default:
throw new BinaryObjectException("Invalid flag value: " + type);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b8e3d1b6/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java
index 5ddb87dc..0d4de7f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/mutabletest/GridBinaryTestClasses.java
@@ -24,6 +24,7 @@ import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.math.BigDecimal;
+import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
@@ -142,6 +143,9 @@ public class GridBinaryTestClasses {
public Integer i_;
/** */
+ public BigInteger bi_;
+
+ /** */
public Long l_;
/** */
@@ -151,6 +155,9 @@ public class GridBinaryTestClasses {
public Double d_;
/** */
+ public BigDecimal bd_;
+
+ /** */
public Character c_;
/** */
@@ -267,9 +274,11 @@ public class GridBinaryTestClasses {
b_ = 11;
s_ = 22;
i_ = 33;
+ bi_ = new BigInteger("33000000000000");
l_ = 44L;
f_ = 55f;
d_ = 66d;
+ bd_ = new BigDecimal("33000000000000.123456789");
c_ = 'e';
z_ = true;
[06/17] ignite git commit: Merge branch 'ignite-1.9.2' of
https://github.com/gridgain/apache-ignite into ignite-1.9.2
Posted by sb...@apache.org.
Merge branch 'ignite-1.9.2' of https://github.com/gridgain/apache-ignite into ignite-1.9.2
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d5667810
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d5667810
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d5667810
Branch: refs/heads/ignite-4932
Commit: d56678105c3eb38a94e242d390e6882c5507a51f
Parents: 84bd00b 8078c87
Author: oleg-ostanin <oo...@gridgain.com>
Authored: Tue Mar 21 15:13:39 2017 +0300
Committer: oleg-ostanin <oo...@gridgain.com>
Committed: Tue Mar 21 15:13:39 2017 +0300
----------------------------------------------------------------------
.../affinity/fair/FairAffinityFunction.java | 33 ++--
.../internal/managers/GridManagerAdapter.java | 4 +
.../cache/DynamicCacheChangeBatch.java | 14 ++
.../distributed/dht/GridDhtCacheAdapter.java | 19 +-
.../cache/query/GridCacheQueryManager.java | 97 +++++-----
.../service/GridServiceProcessor.java | 49 ++---
.../ignite/internal/util/IgniteUtils.java | 14 +-
.../visor/cache/VisorCacheClearTask.java | 59 +++++-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 5 +
.../org/apache/ignite/spi/IgniteSpiContext.java | 6 +
.../communication/tcp/TcpCommunicationSpi.java | 25 +++
.../ignite/spi/discovery/tcp/ClientImpl.java | 32 +++-
.../ignite/spi/discovery/tcp/ServerImpl.java | 19 ++
.../spi/discovery/tcp/TcpDiscoverySpi.java | 5 +
.../tcp/internal/TcpDiscoveryNode.java | 6 +-
.../affinity/fair/FairAffinityNodesRestart.java | 130 +++++++++++++
.../GridServiceContinuousQueryRedeploy.java | 167 +++++++++++++++++
...veryNodeAttributesUpdateOnReconnectTest.java | 110 +++++++++++
.../TcpDiscoverySslSecuredUnsecuredTest.java | 185 +++++++++++++++++++
.../tcp/TestReconnectPluginProvider.java | 111 +++++++++++
.../discovery/tcp/TestReconnectProcessor.java | 93 ++++++++++
.../testframework/GridSpiTestContext.java | 5 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
.../testsuites/IgniteKernalSelfTestSuite.java | 2 +
.../IgniteSpiDiscoverySelfTestSuite.java | 5 +
.../org.apache.ignite.plugin.PluginProvider | 1 +
.../processors/query/h2/IgniteH2Indexing.java | 1 +
.../h2/twostep/GridReduceQueryExecutor.java | 1 +
.../query/IgniteSqlSplitterSelfTest.java | 28 +++
parent/pom.xml | 1 +
30 files changed, 1125 insertions(+), 104 deletions(-)
----------------------------------------------------------------------
[10/17] ignite git commit: Merge branch 'ignite-1.8.5' into
ignite-1.9.2
Posted by sb...@apache.org.
Merge branch 'ignite-1.8.5' into ignite-1.9.2
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/27fbb7a7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/27fbb7a7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/27fbb7a7
Branch: refs/heads/ignite-4932
Commit: 27fbb7a70f2b4bb7e180d55e19dee374f6a34be3
Parents: a54b7c6 2e6bc44
Author: dkarachentsev <dk...@gridgain.com>
Authored: Mon Apr 3 09:41:26 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Apr 3 09:41:26 2017 +0300
----------------------------------------------------------------------
.../internal/jdbc2/JdbcConnectionSelfTest.java | 34 ++
.../jdbc/AbstractJdbcPojoQuerySelfTest.java | 169 +++++
.../jdbc/JdbcPojoLegacyQuerySelfTest.java | 44 ++
.../ignite/jdbc/JdbcPojoQuerySelfTest.java | 56 ++
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 4 +
.../org/apache/ignite/IgniteJdbcDriver.java | 11 +-
.../configuration/IgniteConfiguration.java | 30 +
.../ignite/internal/GridKernalContext.java | 7 +
.../ignite/internal/GridKernalContextImpl.java | 11 +
.../apache/ignite/internal/IgniteKernal.java | 2 +
.../org/apache/ignite/internal/IgnitionEx.java | 16 +
.../ignite/internal/jdbc2/JdbcConnection.java | 50 +-
.../ignite/internal/jdbc2/JdbcQueryTask.java | 2 +-
.../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 2 +-
.../managers/communication/GridIoManager.java | 2 +
.../managers/communication/GridIoPolicy.java | 5 +-
.../query/jdbc/GridCacheQueryJdbcTask.java | 4 +-
.../continuous/GridContinuousProcessor.java | 3 +-
.../internal/processors/pool/PoolProcessor.java | 10 +-
.../processors/query/GridQueryProcessor.java | 2 +-
.../processors/service/GridServiceProxy.java | 10 +
.../task/GridTaskThreadContextKey.java | 7 +-
.../processors/task/GridTaskWorker.java | 16 +-
.../ignite/spi/collision/CollisionSpi.java | 11 +-
.../resources/META-INF/classnames.properties | 17 +-
.../ignite/custom/DummyEventFilterFactory.java | 47 ++
.../ContinuousQueryPeerClassLoadingTest.java | 142 +++++
.../services/ServiceThreadPoolSelfTest.java | 133 ++++
.../junits/GridTestKernalContext.java | 1 +
.../testsuites/IgniteKernalSelfTestSuite.java | 2 +
.../IgniteCacheObjectKeyIndexingSelfTest.java | 124 ++++
.../IgniteCacheQuerySelfTestSuite2.java | 2 +
.../IgniteCacheQuerySelfTestSuite3.java | 2 +
modules/web-console/backend/app/agent.js | 50 +-
modules/web-console/backend/app/browser.js | 36 +-
modules/web-console/backend/app/settings.js | 8 +-
modules/web-console/backend/index.js | 10 -
modules/web-console/frontend/.eslintrc | 1 +
modules/web-console/frontend/.gitignore | 1 +
modules/web-console/frontend/app/app.config.js | 12 +-
modules/web-console/frontend/app/app.js | 18 +-
.../activities-user-dialog.tpl.pug | 36 ++
.../components/activities-user-dialog/index.js | 2 +-
.../form-field-datepicker.pug | 59 ++
.../app/components/input-dialog/index.js | 24 +
.../input-dialog/input-dialog.controller.js | 35 ++
.../input-dialog/input-dialog.service.js | 88 +++
.../input-dialog/input-dialog.tpl.pug | 39 ++
.../list-of-registered-users/index.js | 4 +-
.../list-of-registered-users.column-defs.js | 48 +-
.../list-of-registered-users.controller.js | 194 ++++--
.../list-of-registered-users.scss | 28 +
.../list-of-registered-users.tpl.pug | 72 +++
.../ui-grid-header/ui-grid-header.scss | 7 +
.../ui-grid-header/ui-grid-header.tpl.pug | 29 +
.../ui-grid-settings/ui-grid-settings.jade | 33 -
.../ui-grid-settings/ui-grid-settings.pug | 33 +
.../ui-grid-settings/ui-grid-settings.scss | 45 ++
.../app/directives/centered/centered.css | 37 --
.../directives/centered/centered.directive.js | 2 +-
.../app/directives/centered/centered.scss | 37 ++
.../information/information.directive.js | 4 +-
.../app/directives/information/information.jade | 20 -
.../app/directives/information/information.pug | 20 +
.../ui-ace-docker/ui-ace-docker.directive.js | 4 +-
.../directives/ui-ace-docker/ui-ace-docker.jade | 31 -
.../directives/ui-ace-docker/ui-ace-docker.pug | 31 +
.../ui-ace-java/ui-ace-java.directive.js | 4 +-
.../app/directives/ui-ace-java/ui-ace-java.jade | 22 -
.../app/directives/ui-ace-java/ui-ace-java.pug | 22 +
.../ui-ace-pojos/ui-ace-pojos.directive.js | 4 +-
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 40 --
.../directives/ui-ace-pojos/ui-ace-pojos.pug | 40 ++
.../ui-ace-pom/ui-ace-pom.directive.js | 4 +-
.../app/directives/ui-ace-pom/ui-ace-pom.jade | 17 -
.../app/directives/ui-ace-pom/ui-ace-pom.pug | 17 +
.../ui-ace-sharp/ui-ace-sharp.directive.js | 4 +-
.../directives/ui-ace-sharp/ui-ace-sharp.jade | 22 -
.../directives/ui-ace-sharp/ui-ace-sharp.pug | 22 +
.../ui-ace-spring/ui-ace-spring.directive.js | 4 +-
.../directives/ui-ace-spring/ui-ace-spring.jade | 17 -
.../directives/ui-ace-spring/ui-ace-spring.pug | 17 +
.../frontend/app/helpers/jade/form.jade | 28 -
.../frontend/app/helpers/jade/form.pug | 28 +
.../helpers/jade/form/form-field-checkbox.jade | 38 --
.../helpers/jade/form/form-field-checkbox.pug | 38 ++
.../helpers/jade/form/form-field-datalist.jade | 51 --
.../helpers/jade/form/form-field-datalist.pug | 51 ++
.../app/helpers/jade/form/form-field-down.jade | 18 -
.../app/helpers/jade/form/form-field-down.pug | 18 +
.../helpers/jade/form/form-field-dropdown.jade | 51 --
.../helpers/jade/form/form-field-dropdown.pug | 51 ++
.../helpers/jade/form/form-field-feedback.jade | 32 -
.../helpers/jade/form/form-field-feedback.pug | 32 +
.../app/helpers/jade/form/form-field-label.jade | 23 -
.../app/helpers/jade/form/form-field-label.pug | 23 +
.../helpers/jade/form/form-field-number.jade | 53 --
.../app/helpers/jade/form/form-field-number.pug | 53 ++
.../helpers/jade/form/form-field-password.jade | 47 --
.../helpers/jade/form/form-field-password.pug | 47 ++
.../app/helpers/jade/form/form-field-text.jade | 64 --
.../app/helpers/jade/form/form-field-text.pug | 64 ++
.../app/helpers/jade/form/form-field-up.jade | 18 -
.../app/helpers/jade/form/form-field-up.pug | 18 +
.../app/helpers/jade/form/form-group.jade | 23 -
.../app/helpers/jade/form/form-group.pug | 23 +
.../frontend/app/helpers/jade/mixins.jade | 609 -------------------
.../frontend/app/helpers/jade/mixins.pug | 609 +++++++++++++++++++
.../frontend/app/modules/agent/agent.module.js | 14 +-
.../modules/branding/header-logo.directive.js | 4 +-
.../app/modules/branding/header-logo.jade | 18 -
.../app/modules/branding/header-logo.pug | 18 +
.../branding/powered-by-apache.directive.js | 4 +-
.../app/modules/branding/powered-by-apache.jade | 18 -
.../app/modules/branding/powered-by-apache.pug | 18 +
.../frontend/app/modules/demo/Demo.module.js | 3 +-
.../app/modules/dialog/dialog.factory.js | 2 +-
.../frontend/app/modules/dialog/dialog.jade | 26 -
.../frontend/app/modules/dialog/dialog.tpl.pug | 26 +
.../getting-started/GettingStarted.provider.js | 3 +-
.../frontend/app/modules/loading/loading.css | 73 ---
.../app/modules/loading/loading.directive.js | 8 +-
.../frontend/app/modules/loading/loading.jade | 23 -
.../frontend/app/modules/loading/loading.pug | 23 +
.../frontend/app/modules/loading/loading.scss | 73 +++
.../frontend/app/modules/nodes/Nodes.service.js | 4 +-
.../app/modules/nodes/nodes-dialog.jade | 35 --
.../app/modules/nodes/nodes-dialog.tpl.pug | 35 ++
.../app/modules/sql/notebook.controller.js | 4 +-
.../frontend/app/modules/sql/sql.controller.js | 119 +++-
.../frontend/app/modules/sql/sql.module.js | 19 +-
.../frontend/app/modules/states/admin.state.js | 4 +-
.../app/modules/states/configuration.state.js | 23 +-
.../states/configuration/caches/affinity.pug | 82 +++
.../configuration/caches/client-near-cache.jade | 50 --
.../configuration/caches/client-near-cache.pug | 50 ++
.../configuration/caches/concurrency.jade | 65 --
.../states/configuration/caches/concurrency.pug | 65 ++
.../states/configuration/caches/general.jade | 69 ---
.../states/configuration/caches/general.pug | 69 +++
.../states/configuration/caches/memory.jade | 109 ----
.../states/configuration/caches/memory.pug | 108 ++++
.../configuration/caches/near-cache-client.jade | 51 --
.../configuration/caches/near-cache-client.pug | 51 ++
.../configuration/caches/near-cache-server.jade | 52 --
.../configuration/caches/near-cache-server.pug | 52 ++
.../configuration/caches/node-filter.jade | 59 --
.../states/configuration/caches/node-filter.pug | 59 ++
.../states/configuration/caches/query.jade | 114 ----
.../states/configuration/caches/query.pug | 114 ++++
.../states/configuration/caches/rebalance.jade | 66 --
.../states/configuration/caches/rebalance.pug | 66 ++
.../states/configuration/caches/statistics.jade | 39 --
.../states/configuration/caches/statistics.pug | 39 ++
.../states/configuration/caches/store.jade | 250 --------
.../states/configuration/caches/store.pug | 250 ++++++++
.../states/configuration/clusters/atomic.jade | 54 --
.../states/configuration/clusters/atomic.pug | 54 ++
.../configuration/clusters/attributes.jade | 57 --
.../configuration/clusters/attributes.pug | 57 ++
.../states/configuration/clusters/binary.jade | 77 ---
.../states/configuration/clusters/binary.pug | 77 +++
.../configuration/clusters/cache-key-cfg.jade | 50 --
.../configuration/clusters/cache-key-cfg.pug | 50 ++
.../configuration/clusters/checkpoint.jade | 86 ---
.../configuration/clusters/checkpoint.pug | 86 +++
.../configuration/clusters/checkpoint/fs.jade | 66 --
.../configuration/clusters/checkpoint/fs.pug | 66 ++
.../configuration/clusters/checkpoint/jdbc.jade | 48 --
.../configuration/clusters/checkpoint/jdbc.pug | 48 ++
.../configuration/clusters/checkpoint/s3.jade | 178 ------
.../configuration/clusters/checkpoint/s3.pug | 178 ++++++
.../configuration/clusters/collision.jade | 63 --
.../states/configuration/clusters/collision.pug | 63 ++
.../clusters/collision/custom.jade | 24 -
.../configuration/clusters/collision/custom.pug | 24 +
.../clusters/collision/fifo-queue.jade | 27 -
.../clusters/collision/fifo-queue.pug | 27 +
.../clusters/collision/job-stealing.jade | 63 --
.../clusters/collision/job-stealing.pug | 63 ++
.../clusters/collision/priority-queue.jade | 42 --
.../clusters/collision/priority-queue.pug | 42 ++
.../configuration/clusters/communication.jade | 100 ---
.../configuration/clusters/communication.pug | 100 +++
.../configuration/clusters/connector.jade | 104 ----
.../states/configuration/clusters/connector.pug | 104 ++++
.../configuration/clusters/deployment.jade | 237 --------
.../configuration/clusters/deployment.pug | 237 ++++++++
.../configuration/clusters/discovery.jade | 88 ---
.../states/configuration/clusters/discovery.pug | 88 +++
.../states/configuration/clusters/events.jade | 68 ---
.../states/configuration/clusters/events.pug | 68 +++
.../states/configuration/clusters/failover.jade | 73 ---
.../states/configuration/clusters/failover.pug | 73 +++
.../states/configuration/clusters/general.jade | 76 ---
.../states/configuration/clusters/general.pug | 76 +++
.../clusters/general/discovery/cloud.jade | 134 ----
.../clusters/general/discovery/cloud.pug | 134 ++++
.../clusters/general/discovery/google.jade | 38 --
.../clusters/general/discovery/google.pug | 38 ++
.../clusters/general/discovery/jdbc.jade | 31 -
.../clusters/general/discovery/jdbc.pug | 31 +
.../clusters/general/discovery/multicast.jade | 99 ---
.../clusters/general/discovery/multicast.pug | 99 +++
.../clusters/general/discovery/s3.jade | 27 -
.../clusters/general/discovery/s3.pug | 27 +
.../clusters/general/discovery/shared.jade | 23 -
.../clusters/general/discovery/shared.pug | 23 +
.../clusters/general/discovery/vm.jade | 79 ---
.../clusters/general/discovery/vm.pug | 79 +++
.../clusters/general/discovery/zookeeper.jade | 85 ---
.../clusters/general/discovery/zookeeper.pug | 85 +++
.../bounded-exponential-backoff.jade | 27 -
.../retrypolicy/bounded-exponential-backoff.pug | 27 +
.../discovery/zookeeper/retrypolicy/custom.jade | 24 -
.../discovery/zookeeper/retrypolicy/custom.pug | 24 +
.../retrypolicy/exponential-backoff.jade | 27 -
.../retrypolicy/exponential-backoff.pug | 27 +
.../zookeeper/retrypolicy/forever.jade | 22 -
.../discovery/zookeeper/retrypolicy/forever.pug | 22 +
.../zookeeper/retrypolicy/n-times.jade | 25 -
.../discovery/zookeeper/retrypolicy/n-times.pug | 25 +
.../zookeeper/retrypolicy/one-time.jade | 23 -
.../zookeeper/retrypolicy/one-time.pug | 23 +
.../zookeeper/retrypolicy/until-elapsed.jade | 25 -
.../zookeeper/retrypolicy/until-elapsed.pug | 25 +
.../states/configuration/clusters/igfs.jade | 38 --
.../states/configuration/clusters/igfs.pug | 38 ++
.../configuration/clusters/load-balancing.jade | 107 ----
.../configuration/clusters/load-balancing.pug | 107 ++++
.../states/configuration/clusters/logger.jade | 66 --
.../states/configuration/clusters/logger.pug | 66 ++
.../configuration/clusters/logger/custom.jade | 25 -
.../configuration/clusters/logger/custom.pug | 25 +
.../configuration/clusters/logger/log4j.jade | 50 --
.../configuration/clusters/logger/log4j.pug | 50 ++
.../configuration/clusters/logger/log4j2.jade | 39 --
.../configuration/clusters/logger/log4j2.pug | 39 ++
.../configuration/clusters/marshaller.jade | 76 ---
.../configuration/clusters/marshaller.pug | 76 +++
.../states/configuration/clusters/metrics.jade | 51 --
.../states/configuration/clusters/metrics.pug | 51 ++
.../states/configuration/clusters/odbc.jade | 48 --
.../states/configuration/clusters/odbc.pug | 48 ++
.../states/configuration/clusters/ssl.jade | 110 ----
.../states/configuration/clusters/ssl.pug | 110 ++++
.../states/configuration/clusters/swap.jade | 72 ---
.../states/configuration/clusters/swap.pug | 72 +++
.../states/configuration/clusters/thread.jade | 48 --
.../states/configuration/clusters/thread.pug | 48 ++
.../states/configuration/clusters/time.jade | 47 --
.../states/configuration/clusters/time.pug | 47 ++
.../configuration/clusters/transactions.jade | 69 ---
.../configuration/clusters/transactions.pug | 69 +++
.../states/configuration/domains/general.jade | 52 --
.../states/configuration/domains/general.pug | 52 ++
.../states/configuration/domains/query.jade | 172 ------
.../states/configuration/domains/query.pug | 172 ++++++
.../states/configuration/domains/store.jade | 127 ----
.../states/configuration/domains/store.pug | 127 ++++
.../modules/states/configuration/igfs/dual.jade | 42 --
.../modules/states/configuration/igfs/dual.pug | 42 ++
.../states/configuration/igfs/fragmentizer.jade | 43 --
.../states/configuration/igfs/fragmentizer.pug | 43 ++
.../states/configuration/igfs/general.jade | 57 --
.../states/configuration/igfs/general.pug | 57 ++
.../modules/states/configuration/igfs/ipc.jade | 60 --
.../modules/states/configuration/igfs/ipc.pug | 60 ++
.../modules/states/configuration/igfs/misc.jade | 108 ----
.../modules/states/configuration/igfs/misc.pug | 108 ++++
.../states/configuration/igfs/secondary.jade | 45 --
.../states/configuration/igfs/secondary.pug | 45 ++
.../configuration/summary/summary.controller.js | 5 +
.../frontend/app/modules/states/errors.state.js | 4 +-
.../app/modules/states/password.state.js | 6 +-
.../app/modules/states/profile.state.js | 4 +-
.../frontend/app/modules/states/signin.state.js | 2 +-
.../frontend/app/primitives/badge/index.scss | 36 ++
.../frontend/app/primitives/index.js | 19 +
.../frontend/app/primitives/tabs/index.scss | 73 +++
.../frontend/app/services/Clone.service.js | 64 --
.../frontend/app/services/Confirm.service.js | 4 +-
.../app/services/ConfirmBatch.service.js | 4 +-
.../frontend/controllers/caches-controller.js | 14 +-
.../frontend/controllers/clusters-controller.js | 6 +-
.../frontend/controllers/domains-controller.js | 16 +-
.../frontend/controllers/igfs-controller.js | 10 +-
.../frontend/gulpfile.babel.js/paths.js | 28 +-
.../frontend/gulpfile.babel.js/tasks/build.js | 2 +-
.../frontend/gulpfile.babel.js/tasks/bundle.js | 8 +-
.../frontend/gulpfile.babel.js/tasks/jade.js | 49 --
.../frontend/gulpfile.babel.js/tasks/watch.js | 5 +-
.../gulpfile.babel.js/webpack/common.js | 292 ++++-----
.../webpack/environments/development.js | 90 ++-
.../webpack/environments/production.js | 41 +-
.../webpack/environments/test.js | 52 +-
.../frontend/gulpfile.babel.js/webpack/index.js | 4 +-
modules/web-console/frontend/package.json | 60 +-
.../frontend/public/stylesheets/style.scss | 13 +-
.../frontend/test/e2e/exampe.test.js | 4 +-
.../frontend/test/karma.conf.babel.js | 7 +-
.../frontend/test/protractor.conf.js | 16 +-
.../frontend/test/unit/JavaTransformer.test.js | 2 +-
.../frontend/test/unit/JavaTypes.test.js | 137 ++---
.../frontend/test/unit/SharpTransformer.test.js | 2 +-
.../test/unit/SpringTransformer.test.js | 2 +-
.../frontend/test/unit/SqlTypes.test.js | 7 +-
.../frontend/test/unit/UserAuth.test.js | 4 +-
.../frontend/test/unit/Version.test.js | 1 +
.../test/unit/defaultName.filter.test.js | 27 +-
modules/web-console/frontend/views/403.jade | 22 -
modules/web-console/frontend/views/403.tpl.pug | 22 +
modules/web-console/frontend/views/404.jade | 22 -
modules/web-console/frontend/views/404.tpl.pug | 22 +
modules/web-console/frontend/views/base.jade | 22 -
modules/web-console/frontend/views/base.pug | 22 +
.../frontend/views/configuration/caches.jade | 55 --
.../frontend/views/configuration/caches.tpl.pug | 55 ++
.../frontend/views/configuration/clusters.jade | 68 ---
.../views/configuration/clusters.tpl.pug | 68 +++
.../views/configuration/domains-import.jade | 170 ------
.../views/configuration/domains-import.tpl.pug | 170 ++++++
.../frontend/views/configuration/domains.jade | 66 --
.../views/configuration/domains.tpl.pug | 66 ++
.../frontend/views/configuration/igfs.jade | 51 --
.../frontend/views/configuration/igfs.tpl.pug | 51 ++
.../frontend/views/configuration/sidebar.jade | 29 -
.../views/configuration/sidebar.tpl.pug | 29 +
.../summary-project-structure.jade | 27 -
.../summary-project-structure.tpl.pug | 28 +
.../views/configuration/summary-tabs.jade | 25 -
.../views/configuration/summary-tabs.pug | 25 +
.../frontend/views/configuration/summary.jade | 90 ---
.../views/configuration/summary.tpl.pug | 90 +++
.../frontend/views/includes/footer.jade | 23 -
.../frontend/views/includes/footer.pug | 23 +
.../frontend/views/includes/header.jade | 52 --
.../frontend/views/includes/header.pug | 52 ++
modules/web-console/frontend/views/index.jade | 47 --
modules/web-console/frontend/views/index.pug | 47 ++
modules/web-console/frontend/views/reset.jade | 48 --
.../web-console/frontend/views/reset.tpl.pug | 48 ++
.../frontend/views/settings/admin.jade | 25 -
.../frontend/views/settings/admin.tpl.pug | 25 +
.../frontend/views/settings/profile.jade | 76 ---
.../frontend/views/settings/profile.tpl.pug | 76 +++
modules/web-console/frontend/views/signin.jade | 163 -----
.../web-console/frontend/views/signin.tpl.pug | 163 +++++
.../frontend/views/sql/cache-metadata.jade | 40 --
.../frontend/views/sql/cache-metadata.tpl.pug | 40 ++
.../frontend/views/sql/chart-settings.jade | 40 --
.../frontend/views/sql/chart-settings.tpl.pug | 40 ++
.../frontend/views/sql/notebook-new.jade | 33 -
.../frontend/views/sql/notebook-new.tpl.pug | 33 +
.../frontend/views/sql/paragraph-rate.jade | 31 -
.../frontend/views/sql/paragraph-rate.tpl.pug | 31 +
modules/web-console/frontend/views/sql/sql.jade | 278 ---------
.../web-console/frontend/views/sql/sql.tpl.pug | 291 +++++++++
.../views/templates/agent-download.jade | 50 --
.../views/templates/agent-download.tpl.pug | 50 ++
.../frontend/views/templates/alert.jade | 21 -
.../frontend/views/templates/alert.tpl.pug | 21 +
.../frontend/views/templates/batch-confirm.jade | 34 --
.../views/templates/batch-confirm.tpl.pug | 34 ++
.../frontend/views/templates/clone.jade | 39 --
.../frontend/views/templates/confirm.jade | 33 -
.../frontend/views/templates/confirm.tpl.pug | 33 +
.../frontend/views/templates/demo-info.jade | 47 --
.../frontend/views/templates/demo-info.tpl.pug | 47 ++
.../frontend/views/templates/dropdown.jade | 24 -
.../frontend/views/templates/dropdown.tpl.pug | 24 +
.../views/templates/getting-started.jade | 34 --
.../views/templates/getting-started.tpl.pug | 34 ++
.../frontend/views/templates/message.jade | 28 -
.../frontend/views/templates/message.tpl.pug | 28 +
.../frontend/views/templates/pagination.jade | 32 -
.../frontend/views/templates/select.jade | 26 -
.../frontend/views/templates/select.tpl.pug | 26 +
.../views/templates/validation-error.jade | 25 -
.../views/templates/validation-error.tpl.pug | 25 +
.../demo/service/DemoCachesLoadService.java | 26 +
.../config/benchmark-multicast.properties | 4 +-
.../test-max-int-values-offheap.properties | 14 +-
383 files changed, 10593 insertions(+), 8918 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/clients/src/test/java/org/apache/ignite/jdbc/suite/IgniteJdbcDriverTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/IgniteJdbcDriver.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/IgniteJdbcDriver.java
index 9790b8f,c511d5f..0ee41c0
--- a/modules/core/src/main/java/org/apache/ignite/IgniteJdbcDriver.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteJdbcDriver.java
@@@ -292,21 -292,9 +292,24 @@@ public class IgniteJdbcDriver implement
/** Distributed joins parameter name. */
private static final String PARAM_DISTRIBUTED_JOINS = "distributedJoins";
+ /** Transactions allowed parameter name. */
+ private static final String PARAM_TX_ALLOWED = "transactionsAllowed";
+
+ /** DML streaming parameter name. */
+ private static final String PARAM_STREAMING = "streaming";
+
+ /** DML streaming auto flush frequency. */
+ private static final String PARAM_STREAMING_FLUSH_FREQ = "streamingFlushFrequency";
+
+ /** DML streaming node buffer size. */
+ private static final String PARAM_STREAMING_PER_NODE_BUF_SIZE = "streamingPerNodeBufferSize";
+
+ /** DML streaming parallel operations per node. */
+ private static final String PARAM_STREAMING_PER_NODE_PAR_OPS = "streamingPerNodeParallelOperations";
+
+ /** Whether DML streaming will overwrite existing cache entries. */
- private static final String PARAM_STREAMING_ALLOW_OVERWRITE = "streamingAllowOverwrite";
++ private static final String PARAM_STREAMING_ALLOW_OVERWRITE = "streamingAllowOverwrite";
+
/** Hostname property name. */
public static final String PROP_HOST = PROP_PREFIX + "host";
@@@ -328,21 -316,9 +331,24 @@@
/** Distributed joins property name. */
public static final String PROP_DISTRIBUTED_JOINS = PROP_PREFIX + PARAM_DISTRIBUTED_JOINS;
+ /** Transactions allowed property name. */
+ public static final String PROP_TX_ALLOWED = PROP_PREFIX + PARAM_TX_ALLOWED;
+
+ /** DML streaming property name. */
+ public static final String PROP_STREAMING = PROP_PREFIX + PARAM_STREAMING;
+
+ /** DML stream auto flush frequency property name. */
+ public static final String PROP_STREAMING_FLUSH_FREQ = PROP_PREFIX + PARAM_STREAMING_FLUSH_FREQ;
+
+ /** DML stream node buffer size property name. */
+ public static final String PROP_STREAMING_PER_NODE_BUF_SIZE = PROP_PREFIX + PARAM_STREAMING_PER_NODE_BUF_SIZE;
+
+ /** DML stream parallel operations per node property name. */
+ public static final String PROP_STREAMING_PER_NODE_PAR_OPS = PROP_PREFIX + PARAM_STREAMING_PER_NODE_PAR_OPS;
+
+ /** Whether DML streaming will overwrite existing cache entries. */
+ public static final String PROP_STREAMING_ALLOW_OVERWRITE = PROP_PREFIX + PARAM_STREAMING_ALLOW_OVERWRITE;
+
/** Cache name property name. */
public static final String PROP_CFG = PROP_PREFIX + "cfg";
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcConnection.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcConnection.java
index 4244602,dc3fe7f..c431a04
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcConnection.java
@@@ -77,11 -73,7 +77,12 @@@ import static org.apache.ignite.IgniteJ
import static org.apache.ignite.IgniteJdbcDriver.PROP_DISTRIBUTED_JOINS;
import static org.apache.ignite.IgniteJdbcDriver.PROP_LOCAL;
import static org.apache.ignite.IgniteJdbcDriver.PROP_NODE_ID;
+ import static org.apache.ignite.IgniteJdbcDriver.PROP_TX_ALLOWED;
+import static org.apache.ignite.IgniteJdbcDriver.PROP_STREAMING;
+import static org.apache.ignite.IgniteJdbcDriver.PROP_STREAMING_ALLOW_OVERWRITE;
+import static org.apache.ignite.IgniteJdbcDriver.PROP_STREAMING_FLUSH_FREQ;
+import static org.apache.ignite.IgniteJdbcDriver.PROP_STREAMING_PER_NODE_BUF_SIZE;
+import static org.apache.ignite.IgniteJdbcDriver.PROP_STREAMING_PER_NODE_PAR_OPS;
/**
* JDBC connection implementation.
@@@ -127,21 -119,12 +128,27 @@@ public class JdbcConnection implements
/** Distributed joins flag. */
private boolean distributedJoins;
+ /** Transactions allowed flag. */
+ private boolean txAllowed;
+
+ /** Current transaction isolation. */
+ private int txIsolation;
+
+ /** Make this connection streaming oriented, and prepared statements - data streamer aware. */
+ private final boolean stream;
+
+ /** Auto flush frequency for streaming. */
+ private final long streamFlushTimeout;
+
+ /** Node buffer size for data streamer. */
+ private final int streamNodeBufSize;
+
+ /** Parallel ops count per node for data streamer. */
+ private final int streamNodeParOps;
+
+ /** Allow overwrites for duplicate keys on streamed {@code INSERT}s. */
+ private final boolean streamAllowOverwrite;
+
/** Statements. */
final Set<JdbcStatement> statements = new HashSet<>();
@@@ -158,19 -141,12 +165,20 @@@
this.url = url;
- this.cacheName = props.getProperty(PROP_CACHE);
- this.locQry = Boolean.parseBoolean(props.getProperty(PROP_LOCAL));
- this.collocatedQry = Boolean.parseBoolean(props.getProperty(PROP_COLLOCATED));
- this.distributedJoins = Boolean.parseBoolean(props.getProperty(PROP_DISTRIBUTED_JOINS));
+ cacheName = props.getProperty(PROP_CACHE);
+ locQry = Boolean.parseBoolean(props.getProperty(PROP_LOCAL));
+ collocatedQry = Boolean.parseBoolean(props.getProperty(PROP_COLLOCATED));
+ distributedJoins = Boolean.parseBoolean(props.getProperty(PROP_DISTRIBUTED_JOINS));
+ txAllowed = Boolean.parseBoolean(props.getProperty(PROP_TX_ALLOWED));
+ stream = Boolean.parseBoolean(props.getProperty(PROP_STREAMING));
+ streamAllowOverwrite = Boolean.parseBoolean(props.getProperty(PROP_STREAMING_ALLOW_OVERWRITE));
+ streamFlushTimeout = Long.parseLong(props.getProperty(PROP_STREAMING_FLUSH_FREQ, "0"));
+ streamNodeBufSize = Integer.parseInt(props.getProperty(PROP_STREAMING_PER_NODE_BUF_SIZE,
+ String.valueOf(IgniteDataStreamer.DFLT_PER_NODE_BUFFER_SIZE)));
+ streamNodeParOps = Integer.parseInt(props.getProperty(PROP_STREAMING_PER_NODE_PAR_OPS,
+ String.valueOf(IgniteDataStreamer.DFLT_MAX_PARALLEL_OPS)));
+
String nodeIdProp = props.getProperty(PROP_NODE_ID);
if (nodeIdProp != null)
@@@ -516,21 -500,10 +532,21 @@@
if (resSetConcurrency != CONCUR_READ_ONLY)
throw new SQLFeatureNotSupportedException("Invalid concurrency (updates are not supported).");
- if (resSetHoldability != HOLD_CURSORS_OVER_COMMIT)
+ if (!txAllowed && resSetHoldability != HOLD_CURSORS_OVER_COMMIT)
throw new SQLFeatureNotSupportedException("Invalid holdability (transactions are not supported).");
- JdbcPreparedStatement stmt = new JdbcPreparedStatement(this, sql);
+ JdbcPreparedStatement stmt;
+
+ if (!stream)
+ stmt = new JdbcPreparedStatement(this, sql);
+ else {
+ PreparedStatement nativeStmt = prepareNativeStatement(sql);
+
+ IgniteDataStreamer<?, ?> streamer = ((IgniteEx) ignite).context().query().createStreamer(cacheName,
+ nativeStmt, streamFlushTimeout, streamNodeBufSize, streamNodeParOps, streamAllowOverwrite);
+
+ stmt = new JdbcStreamedPreparedStatement(this, sql, streamer, nativeStmt);
+ }
statements.add(stmt);
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java
index a0db90c,923a79c..e3f89fe
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java
@@@ -18,21 -18,42 +18,22 @@@
package org.apache.ignite.testsuites;
import junit.framework.TestSuite;
-import org.apache.ignite.internal.processors.cache.CacheLocalQueryDetailMetricsSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheLocalQueryMetricsSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheOffheapBatchIndexingSingleTypeTest;
-import org.apache.ignite.internal.processors.cache.CachePartitionedQueryDetailMetricsDistributedSelfTest;
-import org.apache.ignite.internal.processors.cache.CachePartitionedQueryDetailMetricsLocalSelfTest;
-import org.apache.ignite.internal.processors.cache.CachePartitionedQueryMetricsDistributedSelfTest;
-import org.apache.ignite.internal.processors.cache.CachePartitionedQueryMetricsLocalSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheQueryNewClientSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheQueryOffheapEvictDataLostTest;
-import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryDetailMetricsDistributedSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryDetailMetricsLocalSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryMetricsDistributedSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheReplicatedQueryMetricsLocalSelfTest;
import org.apache.ignite.internal.processors.cache.CacheScanPartitionQueryFallbackSelfTest;
-import org.apache.ignite.internal.processors.cache.CacheSqlQueryValueCopySelfTest;
-import org.apache.ignite.internal.processors.cache.GridCacheQueryIndexingDisabledSelfTest;
-import org.apache.ignite.internal.processors.cache.IgniteCacheFieldsQueryNoDataSelfTest;
-import org.apache.ignite.internal.processors.cache.IgniteCacheNoClassQuerySelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheCrossCacheJoinRandomTest;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheObjectKeyIndexingSelfTest;
-import org.apache.ignite.internal.processors.cache.IgniteCacheP2pUnmarshallingQueryErrorTest;
-import org.apache.ignite.internal.processors.cache.SqlFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheAtomicNearEnabledFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedQueryCancelSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapTieredMultithreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCachePartitionedQueryMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheQueryEvictsMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheQueryMultiThreadedOffHeapTieredSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheQueryMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheQueryOffheapEvictsMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheQueryOffheapMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheSqlQueryMultiThreadedSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheClientQueryReplicatedNodeRestartSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheDistributedQueryStopOnCancelOrTimeoutSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCachePartitionedFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheQueryStopOnCancelOrTimeoutDistributedJoinSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheReplicatedFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalFieldsQuerySelfTest;
-import org.apache.ignite.internal.processors.cache.local.IgniteCacheLocalQueryCancelOrTimeoutSelfTest;
-import org.apache.ignite.internal.processors.cache.query.GridCacheSwapScanQuerySelfTest;
-import org.apache.ignite.internal.processors.query.h2.sql.BaseH2CompareQueryTest;
-import org.apache.ignite.internal.processors.query.h2.sql.H2CompareBigQueryTest;
-import org.apache.ignite.spi.communication.tcp.GridOrderedMessageCancelSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheQueryNodeFailTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheQueryNodeRestartSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.IgniteCacheQueryNodeRestartSelfTest2;
import org.apache.ignite.testframework.IgniteTestSuite;
/**
@@@ -46,21 -67,61 +47,22 @@@ public class IgniteCacheQuerySelfTestSu
public static TestSuite suite() throws Exception {
TestSuite suite = new IgniteTestSuite("Ignite Cache Queries Test Suite 2");
- // Scan queries.
+ suite.addTestSuite(IgniteCacheQueryMultiThreadedSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryMultiThreadedOffHeapTieredSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryOffheapMultiThreadedSelfTest.class);
+ suite.addTestSuite(IgniteCacheOffheapTieredMultithreadedSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryEvictsMultiThreadedSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryOffheapEvictsMultiThreadedSelfTest.class);
+ suite.addTestSuite(IgniteCacheCrossCacheJoinRandomTest.class);
+ suite.addTestSuite(IgniteCacheClientQueryReplicatedNodeRestartSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryNodeFailTest.class);
+ suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryNodeRestartSelfTest2.class);
+ suite.addTestSuite(IgniteCacheSqlQueryMultiThreadedSelfTest.class);
+ suite.addTestSuite(IgniteCachePartitionedQueryMultiThreadedSelfTest.class);
suite.addTestSuite(CacheScanPartitionQueryFallbackSelfTest.class);
-
- // Fields queries.
- suite.addTestSuite(SqlFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCacheLocalFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCacheReplicatedFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest.class);
- suite.addTestSuite(IgniteCachePartitionedFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCacheAtomicFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearEnabledFieldsQuerySelfTest.class);
- suite.addTestSuite(IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest.class);
- suite.addTestSuite(IgniteCacheFieldsQueryNoDataSelfTest.class);
-
- suite.addTestSuite(GridCacheQueryIndexingDisabledSelfTest.class);
-
- suite.addTestSuite(GridCacheSwapScanQuerySelfTest.class);
-
- suite.addTestSuite(GridOrderedMessageCancelSelfTest.class);
-
- suite.addTestSuite(CacheQueryOffheapEvictDataLostTest.class);
-
- // Ignite cache and H2 comparison.
- suite.addTestSuite(BaseH2CompareQueryTest.class);
- suite.addTestSuite(H2CompareBigQueryTest.class);
-
- // Cache query metrics.
- suite.addTestSuite(CacheLocalQueryMetricsSelfTest.class);
- suite.addTestSuite(CachePartitionedQueryMetricsDistributedSelfTest.class);
- suite.addTestSuite(CachePartitionedQueryMetricsLocalSelfTest.class);
- suite.addTestSuite(CacheReplicatedQueryMetricsDistributedSelfTest.class);
- suite.addTestSuite(CacheReplicatedQueryMetricsLocalSelfTest.class);
-
- // Cache query metrics.
- suite.addTestSuite(CacheLocalQueryDetailMetricsSelfTest.class);
- suite.addTestSuite(CachePartitionedQueryDetailMetricsDistributedSelfTest.class);
- suite.addTestSuite(CachePartitionedQueryDetailMetricsLocalSelfTest.class);
- suite.addTestSuite(CacheReplicatedQueryDetailMetricsDistributedSelfTest.class);
- suite.addTestSuite(CacheReplicatedQueryDetailMetricsLocalSelfTest.class);
-
- // Unmarshalling query test.
- suite.addTestSuite(IgniteCacheP2pUnmarshallingQueryErrorTest.class);
- suite.addTestSuite(IgniteCacheNoClassQuerySelfTest.class);
-
- // Cancellation.
suite.addTestSuite(IgniteCacheDistributedQueryStopOnCancelOrTimeoutSelfTest.class);
- suite.addTestSuite(IgniteCacheDistributedQueryCancelSelfTest.class);
- suite.addTestSuite(IgniteCacheLocalQueryCancelOrTimeoutSelfTest.class);
- suite.addTestSuite(IgniteCacheQueryStopOnCancelOrTimeoutDistributedJoinSelfTest.class);
-
- // Other.
- suite.addTestSuite(CacheQueryNewClientSelfTest.class);
- suite.addTestSuite(CacheOffheapBatchIndexingSingleTypeTest.class);
- suite.addTestSuite(CacheSqlQueryValueCopySelfTest.class);
+ suite.addTestSuite(IgniteCacheObjectKeyIndexingSelfTest.class);
return suite;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite3.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite3.java
index 07125a6,6b2fea0..a4594ee
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite3.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite3.java
@@@ -34,7 -34,7 +34,8 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.query.continuous.CacheKeepBinaryIterationTest;
import org.apache.ignite.internal.processors.cache.query.continuous.CacheKeepBinaryIterationStoreEnabledTest;
import org.apache.ignite.internal.processors.cache.query.continuous.CacheKeepBinaryIterationSwapEnabledTest;
+import org.apache.ignite.internal.processors.cache.query.continuous.ClientReconnectContinuousQueryTest;
+ import org.apache.ignite.internal.processors.cache.query.continuous.ContinuousQueryPeerClassLoadingTest;
import org.apache.ignite.internal.processors.cache.query.continuous.ContinuousQueryRemoteFilterMissingInClassPathSelfTest;
import org.apache.ignite.internal.processors.cache.query.continuous.GridCacheContinuousQueryAtomicNearEnabledSelfTest;
import org.apache.ignite.internal.processors.cache.query.continuous.GridCacheContinuousQueryAtomicOffheapTieredTest;
@@@ -124,7 -124,7 +125,8 @@@ public class IgniteCacheQuerySelfTestSu
suite.addTestSuite(CacheKeepBinaryIterationNearEnabledTest.class);
suite.addTestSuite(IgniteCacheContinuousQueryBackupQueueTest.class);
suite.addTestSuite(IgniteCacheContinuousQueryNoUnsubscribeTest.class);
+ suite.addTestSuite(ContinuousQueryPeerClassLoadingTest.class);
+ suite.addTestSuite(ClientReconnectContinuousQueryTest.class);
return suite;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/yardstick/config/benchmark-multicast.properties
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/27fbb7a7/modules/yardstick/config/test-max-int-values-offheap.properties
----------------------------------------------------------------------
diff --cc modules/yardstick/config/test-max-int-values-offheap.properties
index 838986d,fb501d7..834be56
--- a/modules/yardstick/config/test-max-int-values-offheap.properties
+++ b/modules/yardstick/config/test-max-int-values-offheap.properties
@@@ -22,13 -22,13 +22,13 @@@
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
- -Xms8g \
- -Xmx8g \
- -Xloggc:./gc${now0}.log \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -Xms8g \
- -Xmx8g \
- -Xloggc:./gc${now0}.log \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
++ -Xms8g \
++ -Xmx8g \
++ -Xloggc:./gc${now0}.log \
++ -XX:+PrintGCDetails \
++ -verbose:gc \
++ -XX:+UseParNewGC \
++ -XX:+UseConcMarkSweepGC \
"
# List of default probes.
[05/17] ignite git commit: IGNITE-4822 Fixed change jvm options for
benchmarks
Posted by sb...@apache.org.
IGNITE-4822 Fixed change jvm options for benchmarks
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/84bd00b7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/84bd00b7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/84bd00b7
Branch: refs/heads/ignite-4932
Commit: 84bd00b70caf2ae0b1de97e25536f6fa2e9a8c47
Parents: 8817190
Author: oleg-ostanin <oo...@gridgain.com>
Authored: Tue Mar 21 15:12:35 2017 +0300
Committer: oleg-ostanin <oo...@gridgain.com>
Committed: Tue Mar 21 15:12:35 2017 +0300
----------------------------------------------------------------------
.../config/benchmark-atomic.properties | 18 +++++++--------
.../config/benchmark-bin-identity.properties | 10 +++------
.../config/benchmark-cache-load.properties | 10 +++------
.../config/benchmark-client-mode.properties | 10 +++------
.../config/benchmark-compute.properties | 18 +++++++--------
.../config/benchmark-failover.properties | 18 ++++++---------
.../yardstick/config/benchmark-full.properties | 18 ++++++---------
.../config/benchmark-multicast.properties | 10 +++------
.../config/benchmark-put-indexed-val.properties | 18 +++++++--------
.../benchmark-query-put-separated.properties | 10 +++------
.../yardstick/config/benchmark-query.properties | 18 +++++++--------
.../config/benchmark-remote-sample.properties | 18 +++++++--------
.../config/benchmark-remote.properties | 18 ++++++---------
.../config/benchmark-sample.properties | 18 +++++++--------
.../config/benchmark-sql-dml.properties | 18 +++++++--------
.../yardstick/config/benchmark-store.properties | 10 +++------
.../yardstick/config/benchmark-tx.properties | 18 +++++++--------
modules/yardstick/config/benchmark.properties | 18 ++++++---------
.../test-max-int-values-offheap.properties | 23 +++++++-------------
.../test-max-int-values-onheap.properties | 23 +++++++-------------
.../config/test-max-int-values-swap.properties | 23 +++++++-------------
21 files changed, 134 insertions(+), 211 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-atomic.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-atomic.properties b/modules/yardstick/config/benchmark-atomic.properties
index 7226384..967a603 100644
--- a/modules/yardstick/config/benchmark-atomic.properties
+++ b/modules/yardstick/config/benchmark-atomic.properties
@@ -22,16 +22,14 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
# JVM_OPTS=${JVM_OPTS}" \
-# -XX:+UseParNewGC \
-# -XX:+UseConcMarkSweepGC \
-# -XX:+UseTLAB \
-# -XX:NewSize=128m \
-# -XX:MaxNewSize=128m \
-# -XX:MaxTenuringThreshold=0 \
-# -XX:SurvivorRatio=1024 \
-# -XX:+UseCMSInitiatingOccupancyOnly \
-# -XX:CMSInitiatingOccupancyFraction=60 \
-#"
+# -Xms6g \
+# -Xmx6g \
+# -Xloggc:./gc${now0}.log \
+# -XX:+PrintGCDetails \
+# -verbose:gc \
+# -XX:+UseParNewGC \
+# -XX:+UseConcMarkSweepGC \
+# "
# List of default probes.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-bin-identity.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-bin-identity.properties b/modules/yardstick/config/benchmark-bin-identity.properties
index 6468d8f..d5d18b6 100644
--- a/modules/yardstick/config/benchmark-bin-identity.properties
+++ b/modules/yardstick/config/benchmark-bin-identity.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-cache-load.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-cache-load.properties b/modules/yardstick/config/benchmark-cache-load.properties
index 12e07c3..9c1ab09 100644
--- a/modules/yardstick/config/benchmark-cache-load.properties
+++ b/modules/yardstick/config/benchmark-cache-load.properties
@@ -21,17 +21,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
# List of default probes.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-client-mode.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-client-mode.properties b/modules/yardstick/config/benchmark-client-mode.properties
index 0723fcb..ad501f1 100644
--- a/modules/yardstick/config/benchmark-client-mode.properties
+++ b/modules/yardstick/config/benchmark-client-mode.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
#Ignite version
ver="RELEASE-"
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-compute.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-compute.properties b/modules/yardstick/config/benchmark-compute.properties
index 66cb930..df35c54 100644
--- a/modules/yardstick/config/benchmark-compute.properties
+++ b/modules/yardstick/config/benchmark-compute.properties
@@ -22,16 +22,14 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
# JVM_OPTS=${JVM_OPTS}" \
-# -XX:+UseParNewGC \
-# -XX:+UseConcMarkSweepGC \
-# -XX:+UseTLAB \
-# -XX:NewSize=128m \
-# -XX:MaxNewSize=128m \
-# -XX:MaxTenuringThreshold=0 \
-# -XX:SurvivorRatio=1024 \
-# -XX:+UseCMSInitiatingOccupancyOnly \
-# -XX:CMSInitiatingOccupancyFraction=60 \
-#"
+# -Xms6g \
+# -Xmx6g \
+# -Xloggc:./gc${now0}.log \
+# -XX:+PrintGCDetails \
+# -verbose:gc \
+# -XX:+UseParNewGC \
+# -XX:+UseConcMarkSweepGC \
+# "
# List of default probes.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-failover.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-failover.properties b/modules/yardstick/config/benchmark-failover.properties
index 4c6a12a..a85d165 100644
--- a/modules/yardstick/config/benchmark-failover.properties
+++ b/modules/yardstick/config/benchmark-failover.properties
@@ -27,17 +27,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false -ea"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-full.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-full.properties b/modules/yardstick/config/benchmark-full.properties
index b64612e..96da0a6 100644
--- a/modules/yardstick/config/benchmark-full.properties
+++ b/modules/yardstick/config/benchmark-full.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-multicast.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-multicast.properties b/modules/yardstick/config/benchmark-multicast.properties
index c10d0c6..7f76495 100644
--- a/modules/yardstick/config/benchmark-multicast.properties
+++ b/modules/yardstick/config/benchmark-multicast.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-put-indexed-val.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-put-indexed-val.properties b/modules/yardstick/config/benchmark-put-indexed-val.properties
index 0d699c5..152d72f 100644
--- a/modules/yardstick/config/benchmark-put-indexed-val.properties
+++ b/modules/yardstick/config/benchmark-put-indexed-val.properties
@@ -21,16 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-query-put-separated.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-query-put-separated.properties b/modules/yardstick/config/benchmark-query-put-separated.properties
index 500e4fa..b4437bf 100644
--- a/modules/yardstick/config/benchmark-query-put-separated.properties
+++ b/modules/yardstick/config/benchmark-query-put-separated.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-query.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-query.properties b/modules/yardstick/config/benchmark-query.properties
index af9b07e..9192512 100644
--- a/modules/yardstick/config/benchmark-query.properties
+++ b/modules/yardstick/config/benchmark-query.properties
@@ -21,16 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-remote-sample.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-remote-sample.properties b/modules/yardstick/config/benchmark-remote-sample.properties
index 5f158ac..7e97f43 100644
--- a/modules/yardstick/config/benchmark-remote-sample.properties
+++ b/modules/yardstick/config/benchmark-remote-sample.properties
@@ -22,16 +22,14 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
# JVM_OPTS=${JVM_OPTS}" \
-# -XX:+UseParNewGC \
-# -XX:+UseConcMarkSweepGC \
-# -XX:+UseTLAB \
-# -XX:NewSize=128m \
-# -XX:MaxNewSize=128m \
-# -XX:MaxTenuringThreshold=0 \
-# -XX:SurvivorRatio=1024 \
-# -XX:+UseCMSInitiatingOccupancyOnly \
-# -XX:CMSInitiatingOccupancyFraction=60 \
-#"
+# -Xms6g \
+# -Xmx6g \
+# -Xloggc:./gc${now0}.log \
+# -XX:+PrintGCDetails \
+# -verbose:gc \
+# -XX:+UseParNewGC \
+# -XX:+UseConcMarkSweepGC \
+# "
# List of default probes.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-remote.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-remote.properties b/modules/yardstick/config/benchmark-remote.properties
index 0cda79e..4d671d3 100644
--- a/modules/yardstick/config/benchmark-remote.properties
+++ b/modules/yardstick/config/benchmark-remote.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-sample.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-sample.properties b/modules/yardstick/config/benchmark-sample.properties
index 1932ae7..81e9a1b 100644
--- a/modules/yardstick/config/benchmark-sample.properties
+++ b/modules/yardstick/config/benchmark-sample.properties
@@ -22,16 +22,14 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
# JVM_OPTS=${JVM_OPTS}" \
-# -XX:+UseParNewGC \
-# -XX:+UseConcMarkSweepGC \
-# -XX:+UseTLAB \
-# -XX:NewSize=128m \
-# -XX:MaxNewSize=128m \
-# -XX:MaxTenuringThreshold=0 \
-# -XX:SurvivorRatio=1024 \
-# -XX:+UseCMSInitiatingOccupancyOnly \
-# -XX:CMSInitiatingOccupancyFraction=60 \
-#"
+# -Xms6g \
+# -Xmx6g \
+# -Xloggc:./gc${now0}.log \
+# -XX:+PrintGCDetails \
+# -verbose:gc \
+# -XX:+UseParNewGC \
+# -XX:+UseConcMarkSweepGC \
+# "
# List of default probes.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-sql-dml.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-sql-dml.properties b/modules/yardstick/config/benchmark-sql-dml.properties
index a8bb453..faa62c9 100644
--- a/modules/yardstick/config/benchmark-sql-dml.properties
+++ b/modules/yardstick/config/benchmark-sql-dml.properties
@@ -21,16 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-store.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-store.properties b/modules/yardstick/config/benchmark-store.properties
index ea8487f..2f89d0e 100644
--- a/modules/yardstick/config/benchmark-store.properties
+++ b/modules/yardstick/config/benchmark-store.properties
@@ -26,17 +26,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
-XX:+PrintGCDetails \
-verbose:gc \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \
--XX:+UseTLAB \
--XX:NewSize=128m \
--XX:MaxNewSize=128m \
--XX:MaxTenuringThreshold=0 \
--XX:SurvivorRatio=1024 \
--XX:+UseCMSInitiatingOccupancyOnly \
--XX:CMSInitiatingOccupancyFraction=60 \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark-tx.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-tx.properties b/modules/yardstick/config/benchmark-tx.properties
index 4744dee..cc48c53 100644
--- a/modules/yardstick/config/benchmark-tx.properties
+++ b/modules/yardstick/config/benchmark-tx.properties
@@ -22,16 +22,14 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
# JVM_OPTS=${JVM_OPTS}" \
-# -XX:+UseParNewGC \
-# -XX:+UseConcMarkSweepGC \
-# -XX:+UseTLAB \
-# -XX:NewSize=128m \
-# -XX:MaxNewSize=128m \
-# -XX:MaxTenuringThreshold=0 \
-# -XX:SurvivorRatio=1024 \
-# -XX:+UseCMSInitiatingOccupancyOnly \
-# -XX:CMSInitiatingOccupancyFraction=60 \
-#"
+# -Xms6g \
+# -Xmx6g \
+# -Xloggc:./gc${now0}.log \
+# -XX:+PrintGCDetails \
+# -verbose:gc \
+# -XX:+UseParNewGC \
+# -XX:+UseConcMarkSweepGC \
+# "
# List of default probes, comma separated.
# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/benchmark.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark.properties b/modules/yardstick/config/benchmark.properties
index 1b5d5fe..cccbf2a 100644
--- a/modules/yardstick/config/benchmark.properties
+++ b/modules/yardstick/config/benchmark.properties
@@ -24,17 +24,13 @@ JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
JVM_OPTS=${JVM_OPTS}" \
- -XX:+PrintGCDetails \
- -verbose:gc \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+-Xms6g \
+-Xmx6g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
#Ignite version
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/test-max-int-values-offheap.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/test-max-int-values-offheap.properties b/modules/yardstick/config/test-max-int-values-offheap.properties
index 42769ec..838986d 100644
--- a/modules/yardstick/config/test-max-int-values-offheap.properties
+++ b/modules/yardstick/config/test-max-int-values-offheap.properties
@@ -21,21 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+PrintGCDetails \
- -XX:-PrintGCTimeStamps \
- -verbose:gc \
- -Xmx8g \
- -Xms8g \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=1g \
- -XX:MaxNewSize=1g \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms8g \
+-Xmx8g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/test-max-int-values-onheap.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/test-max-int-values-onheap.properties b/modules/yardstick/config/test-max-int-values-onheap.properties
index 0faf5f3..c83f469 100644
--- a/modules/yardstick/config/test-max-int-values-onheap.properties
+++ b/modules/yardstick/config/test-max-int-values-onheap.properties
@@ -21,21 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+PrintGCDetails \
- -XX:-PrintGCTimeStamps \
- -verbose:gc \
- -Xmx92g \
- -Xms32g \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=4g \
- -XX:MaxNewSize=4g \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms92g \
+-Xmx32g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
http://git-wip-us.apache.org/repos/asf/ignite/blob/84bd00b7/modules/yardstick/config/test-max-int-values-swap.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/test-max-int-values-swap.properties b/modules/yardstick/config/test-max-int-values-swap.properties
index 900e8ac..c462ada 100644
--- a/modules/yardstick/config/test-max-int-values-swap.properties
+++ b/modules/yardstick/config/test-max-int-values-swap.properties
@@ -21,21 +21,14 @@
# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false \
- -XX:+PrintGCDetails \
- -XX:-PrintGCTimeStamps \
- -verbose:gc \
- -Xmx8g \
- -Xms8g \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=1g \
- -XX:MaxNewSize=1g \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
+JVM_OPTS=${JVM_OPTS}" \
+-Xms8g \
+-Xmx8g \
+-Xloggc:./gc${now0}.log \
+-XX:+PrintGCDetails \
+-verbose:gc \
+-XX:+UseParNewGC \
+-XX:+UseConcMarkSweepGC \
"
# List of default probes.
[12/17] ignite git commit: Merge branch 'ignite-1.8.4-p1' into
ignite-1.9.2
Posted by sb...@apache.org.
Merge branch 'ignite-1.8.4-p1' into ignite-1.9.2
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
# modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b78aebed
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b78aebed
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b78aebed
Branch: refs/heads/ignite-4932
Commit: b78aebedeac80de37910e002c2b579bfd0de7f2d
Parents: 9d8de41 8273e67
Author: dkarachentsev <dk...@gridgain.com>
Authored: Mon Apr 3 14:52:58 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Apr 3 14:52:58 2017 +0300
----------------------------------------------------------------------
.../internal/managers/discovery/DiscoCache.java | 310 ++++++++
.../discovery/GridDiscoveryManager.java | 710 ++++++-------------
.../eventstorage/DiscoveryEventListener.java | 33 +
.../eventstorage/GridEventStorageManager.java | 162 ++++-
.../affinity/GridAffinityAssignmentCache.java | 7 +-
.../cache/CacheAffinitySharedManager.java | 35 +-
.../cache/GridCacheAffinityManager.java | 2 +-
.../GridCachePartitionExchangeManager.java | 64 +-
.../dht/GridClientPartitionTopology.java | 20 +-
.../dht/GridDhtAssignmentFetchFuture.java | 7 +-
.../dht/GridDhtPartitionTopologyImpl.java | 44 +-
.../dht/atomic/GridDhtAtomicCache.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 33 +-
.../service/GridServiceProcessor.java | 21 +-
.../GridDiscoveryManagerAliveCacheSelfTest.java | 61 +-
.../GridDiscoveryManagerAttributesSelfTest.java | 10 +-
.../discovery/GridDiscoveryManagerSelfTest.java | 214 ------
.../IgniteTopologyPrintFormatSelfTest.java | 8 +-
.../testsuites/IgniteKernalSelfTestSuite.java | 3 -
19 files changed, 851 insertions(+), 897 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index f94d51b,80549dc..62fed16
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@@ -112,8 -108,8 +108,9 @@@ import org.apache.ignite.spi.discovery.
import org.apache.ignite.spi.discovery.DiscoverySpiListener;
import org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator;
import org.apache.ignite.spi.discovery.DiscoverySpiOrderSupport;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.thread.IgniteThread;
+ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
@@@ -1892,29 -1901,114 +1902,137 @@@ public class GridDiscoveryManager exten
}
/**
+ * @return {@code True} if local node client and discovery SPI supports reconnect.
+ */
+ public boolean reconnectSupported() {
+ DiscoverySpi spi = getSpi();
+
+ return ctx.clientNode() && (spi instanceof TcpDiscoverySpi) &&
+ !(((TcpDiscoverySpi) spi).isClientReconnectDisabled());
+ }
+
+ /**
+ * Leave cluster and try to join again.
+ *
+ * @throws IgniteSpiException If failed.
+ */
+ public void reconnect() {
+ assert reconnectSupported();
+
+ DiscoverySpi discoverySpi = getSpi();
+
+ ((TcpDiscoverySpi)discoverySpi).reconnect();
+ }
+
+ /**
+ * @param loc Local node.
+ * @param topSnapshot Topology snapshot.
+ * @return Newly created discovery cache.
+ */
+ @NotNull private DiscoCache createDiscoCache(ClusterNode loc, Collection<ClusterNode> topSnapshot) {
+ HashSet<UUID> alives = U.newHashSet(topSnapshot.size());
+ HashMap<UUID, ClusterNode> nodeMap = U.newHashMap(topSnapshot.size());
+
+ ArrayList<ClusterNode> daemonNodes = new ArrayList<>(topSnapshot.size());
+ ArrayList<ClusterNode> srvNodes = new ArrayList<>(topSnapshot.size());
+ ArrayList<ClusterNode> rmtNodes = new ArrayList<>(topSnapshot.size());
+ ArrayList<ClusterNode> allNodes = new ArrayList<>(topSnapshot.size());
+
+ for (ClusterNode node : topSnapshot) {
+ if (alive(node))
+ alives.add(node.id());
+
+ if (node.isDaemon())
+ daemonNodes.add(node);
+ else {
+ allNodes.add(node);
+
+ if (!node.isLocal())
+ rmtNodes.add(node);
+
+ if (!CU.clientNode(node))
+ srvNodes.add(node);
+ }
+
+ nodeMap.put(node.id(), node);
+ }
+
+ assert !rmtNodes.contains(loc) : "Remote nodes collection shouldn't contain local node" +
+ " [rmtNodes=" + rmtNodes + ", loc=" + loc + ']';
+
+ Map<Integer, List<ClusterNode>> allCacheNodes = U.newHashMap(allNodes.size());
+ Map<Integer, List<ClusterNode>> affCacheNodes = U.newHashMap(allNodes.size());
+
+ Set<ClusterNode> allNodesWithCaches = new TreeSet<>(GridNodeOrderComparator.INSTANCE);
+ Set<ClusterNode> rmtNodesWithCaches = new TreeSet<>(GridNodeOrderComparator.INSTANCE);
+ Set<ClusterNode> srvNodesWithCaches = new TreeSet<>(GridNodeOrderComparator.INSTANCE);
+
+ Set<Integer> nearEnabledCaches = new HashSet<>();
+
+ for (ClusterNode node : allNodes) {
+ assert node.order() != 0 : "Invalid node order [locNode=" + loc + ", node=" + node + ']';
+ assert !node.isDaemon();
+
+ for (Map.Entry<String, CachePredicate> entry : registeredCaches.entrySet()) {
+ String cacheName = entry.getKey();
+ CachePredicate filter = entry.getValue();
+
+ if (filter.cacheNode(node)) {
+ allNodesWithCaches.add(node);
+
+ if(!CU.clientNode(node))
+ srvNodesWithCaches.add(node);
+
+ if (!node.isLocal())
+ rmtNodesWithCaches.add(node);
+
+ addToMap(allCacheNodes, cacheName, node);
+
+ if (filter.dataNode(node))
+ addToMap(affCacheNodes, cacheName, node);
+
+ if (filter.nearNode(node))
+ nearEnabledCaches.add(CU.cacheId(cacheName));
+ }
+ }
+ }
+
+ return new DiscoCache(
+ loc,
+ Collections.unmodifiableList(rmtNodes),
+ Collections.unmodifiableList(allNodes),
+ Collections.unmodifiableList(srvNodes),
+ Collections.unmodifiableList(daemonNodes),
+ U.sealList(srvNodesWithCaches),
+ U.sealList(allNodesWithCaches),
+ U.sealList(rmtNodesWithCaches),
+ Collections.unmodifiableMap(allCacheNodes),
+ Collections.unmodifiableMap(affCacheNodes),
+ Collections.unmodifiableMap(nodeMap),
+ Collections.unmodifiableSet(nearEnabledCaches),
+ alives);
+ }
+
+ /**
+ * Adds node to map.
+ *
+ * @param cacheMap Map to add to.
+ * @param cacheName Cache name.
+ * @param rich Node to add
+ */
+ private void addToMap(Map<Integer, List<ClusterNode>> cacheMap, String cacheName, ClusterNode rich) {
+ List<ClusterNode> cacheNodes = cacheMap.get(CU.cacheId(cacheName));
+
+ if (cacheNodes == null) {
+ cacheNodes = new ArrayList<>();
+
+ cacheMap.put(CU.cacheId(cacheName), cacheNodes);
+ }
+
+ cacheNodes.add(rich);
+ }
+
+ /**
* Updates topology version if current version is smaller than updated.
*
* @param updated Updated topology version.
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index 6ced5e6,99146aa..adfbc11
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@@ -315,10 -313,8 +315,10 @@@ public class GridServiceProcessor exten
busyLock.block();
+ U.shutdownNow(GridServiceProcessor.class, depExe, log);
+
if (!ctx.clientNode())
- ctx.event().removeLocalEventListener(topLsnr);
+ ctx.event().removeDiscoveryEventListener(topLsnr);
Collection<ServiceContextImpl> ctxs = new ArrayList<>();
@@@ -1576,19 -1586,16 +1576,22 @@@
if (!((CacheAffinityChangeMessage)msg).exchangeNeeded())
return;
}
+ else if (msg instanceof DynamicCacheChangeBatch) {
+ if (!((DynamicCacheChangeBatch)msg).exchangeNeeded())
+ return;
+ }
+ else
+ return;
}
else
- topVer = new AffinityTopologyVersion(((DiscoveryEvent)evt).topologyVersion(), 0);
+ topVer = new AffinityTopologyVersion((evt).topologyVersion(), 0);
- depExe.execute(new BusyRunnable() {
+ depExe.execute(new DepRunnable() {
@Override public void run0() {
- ClusterNode oldest = ctx.discovery().oldestAliveCacheServerNode(topVer);
+ // In case the cache instance isn't tracked by DiscoveryManager anymore.
+ discoCache.updateAlives(ctx.discovery());
+
+ ClusterNode oldest = discoCache.oldestAliveServerNodeWithCache();
if (oldest != null && oldest.isLocal()) {
final Collection<GridServiceDeployment> retries = new ConcurrentLinkedQueue<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b78aebed/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
----------------------------------------------------------------------
[16/17] ignite git commit: IGNITE-2466 - Disable back-pressure for
sender data nodes to avoid deadlock.
Posted by sb...@apache.org.
IGNITE-2466 - Disable back-pressure for sender data nodes to avoid deadlock.
(cherry picked from commit ba6227b)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bb3ff120
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bb3ff120
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bb3ff120
Branch: refs/heads/ignite-4932
Commit: bb3ff120e6995431d10439243d8b163712de0e0e
Parents: 220db88
Author: dkarachentsev <dk...@gridgain.com>
Authored: Mon Apr 10 11:40:17 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Apr 10 11:41:29 2017 +0300
----------------------------------------------------------------------
.../distributed/dht/atomic/GridDhtAtomicCache.java | 5 ++++-
.../CacheAtomicPrimarySyncBackPressureTest.java | 16 ++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/bb3ff120/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
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 047be87..4159359 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
@@ -1909,7 +1909,10 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
req.cleanup(!node.isLocal());
if (dhtFut != null) {
- if (req.writeSynchronizationMode() == PRIMARY_SYNC && !dhtFut.isDone()) {
+ if (req.writeSynchronizationMode() == PRIMARY_SYNC
+ // To avoid deadlock disable back-pressure for sender data node.
+ && !ctx.discovery().cacheAffinityNode(ctx.discovery().node(nodeId), ctx.name())
+ && !dhtFut.isDone()) {
final IgniteRunnable tracker = GridNioBackPressureControl.threadTracker();
if (tracker != null && tracker instanceof GridNioMessageTracker) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/bb3ff120/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
index 49e3e5c..30436f5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheAtomicPrimarySyncBackPressureTest.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.managers.communication.GridIoMessage;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicDeferredUpdateResponse;
import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
@@ -53,6 +54,8 @@ public class CacheAtomicPrimarySyncBackPressureTest extends GridCommonAbstractTe
ccfg.setMemoryMode(CacheMemoryMode.ONHEAP_TIERED);
ccfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
+ ccfg.setNodeFilter(new NodeFilter());
+
TestCommunicationSpi spi = new TestCommunicationSpi();
spi.setMessageQueueLimit(100);
@@ -148,4 +151,17 @@ public class CacheAtomicPrimarySyncBackPressureTest extends GridCommonAbstractTe
throw new IgniteSpiException(e);
}
}
+
+ /**
+ * Filters out server node producer.
+ */
+ private static class NodeFilter implements IgnitePredicate<ClusterNode> {
+ /** Serial version uid. */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public boolean apply(ClusterNode node) {
+ return !("server3".equals(node.attribute("org.apache.ignite.ignite.name")));
+ }
+ }
}
[09/17] ignite git commit: IGNITE-4826: Fix eviction to swap if
segmented index is used. This closes #1628.
Posted by sb...@apache.org.
IGNITE-4826: Fix eviction to swap if segmented index is used. This closes #1628.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a54b7c6d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a54b7c6d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a54b7c6d
Branch: refs/heads/ignite-4932
Commit: a54b7c6d76974f833e451aff947456ea0013226b
Parents: 9b9c325
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Tue Mar 28 18:49:03 2017 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Tue Mar 28 18:49:03 2017 +0300
----------------------------------------------------------------------
.../query/h2/opt/GridH2TreeIndex.java | 4 +--
.../query/IgniteSqlSegmentedIndexSelfTest.java | 30 ++++++++++++++++++--
2 files changed, 30 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a54b7c6d/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
index 2873211..663d863 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
@@ -286,8 +286,8 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
* @param row Search row.
* @return Row.
*/
- public GridH2Row findOne(GridSearchRowPointer row) {
- int seg = threadLocalSegment();
+ GridH2Row findOne(GridSearchRowPointer row) {
+ int seg = segmentForRow(row);
return segments[seg].get(row);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/a54b7c6d/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSegmentedIndexSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSegmentedIndexSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSegmentedIndexSelfTest.java
index f8c9dd5..800138c 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSegmentedIndexSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSegmentedIndexSelfTest.java
@@ -27,6 +27,7 @@ import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheKeyConfiguration;
import org.apache.ignite.cache.CacheMode;
+import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy;
import org.apache.ignite.cache.query.SqlFieldsQuery;
import org.apache.ignite.cache.query.annotations.QuerySqlField;
import org.apache.ignite.configuration.CacheConfiguration;
@@ -34,6 +35,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
/**
@@ -63,6 +65,8 @@ public class IgniteSqlSegmentedIndexSelfTest extends GridCommonAbstractTest {
cfg.setDiscoverySpi(disco);
+ cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
+
return cfg;
}
@@ -77,7 +81,7 @@ public class IgniteSqlSegmentedIndexSelfTest extends GridCommonAbstractTest {
* @param idxTypes Indexed types.
* @return Cache configuration.
*/
- private static <K, V> CacheConfiguration<K, V> cacheConfig(String name, boolean partitioned, Class<?>... idxTypes) {
+ protected <K, V> CacheConfiguration<K, V> cacheConfig(String name, boolean partitioned, Class<?>... idxTypes) {
return new CacheConfiguration<K, V>()
.setName(name)
.setCacheMode(partitioned ? CacheMode.PARTITIONED : CacheMode.REPLICATED)
@@ -104,6 +108,28 @@ public class IgniteSqlSegmentedIndexSelfTest extends GridCommonAbstractTest {
}
/**
+ * Run tests on single-node grid
+ * @throws Exception If failed.
+ */
+ public void testSingleNodeIndexSegmentationWithSwapEnabled() throws Exception {
+ startGridsMultiThreaded(1, true);
+
+ final IgniteCache<Object, Object> cache = ignite(0).createCache(cacheConfig("org", true, Integer.class, Organization.class)
+ .setOffHeapMaxMemory(-1)
+ .setSwapEnabled(true)
+ .setEvictionPolicy(new FifoEvictionPolicy(10)));
+
+ for (int i = 0; i < 20; i++)
+ cache.put(i, new Organization("org-" + i));
+
+ String select0 = "select name from \"org\".Organization";
+
+ List<List<?>> result = cache.query(new SqlFieldsQuery(select0)).getAll();
+
+ assertEquals(20, result.size());
+ }
+
+ /**
* Run tests on multi-node grid
* @throws Exception If failed.
*/
@@ -170,7 +196,7 @@ public class IgniteSqlSegmentedIndexSelfTest extends GridCommonAbstractTest {
Set<Integer> localOrgIds = new HashSet<>();
- for(Cache.Entry<Integer, Organization> e : c2.localEntries())
+ for (Cache.Entry<Integer, Organization> e : c2.localEntries())
localOrgIds.add(e.getKey());
int expectedPersons = 0;
[02/17] ignite git commit: Merge remote-tracking branch ignite-1.7.9
into ignite-1.9.2
Posted by sb...@apache.org.
Merge remote-tracking branch ignite-1.7.9 into ignite-1.9.2
Conflicts:
docs/RELEASE_NOTES.txt
docs/community/RELEASE_NOTES.txt
modules/compatibility/src/test/java/org/gridgain/grid/compatibility/tests/GridCompatibilityAbstractTest.java
modules/core/src/main/resources/gridgain.properties
modules/visor/src/main/scala/org/gridgain/visor/gui/tabs/sql/VisorSqlViewerTab.scala
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/841887ee
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/841887ee
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/841887ee
Branch: refs/heads/ignite-4932
Commit: 841887ee3ace1cbe988168e1027ae32500079456
Parents: 2ebea3e
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Thu Mar 16 15:42:46 2017 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Thu Mar 16 15:42:46 2017 +0300
----------------------------------------------------------------------
.../apache/ignite/internal/visor/cache/VisorCacheClearTask.java | 1 +
.../ignite/internal/processors/query/h2/IgniteH2Indexing.java | 5 -----
2 files changed, 1 insertion(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/841887ee/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
index b588c18..62b4762 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
@@ -25,6 +25,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.visor.VisorJob;
import org.apache.ignite.internal.visor.VisorOneNodeTask;
import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.lang.IgniteCallable;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.resources.JobContextResource;
http://git-wip-us.apache.org/repos/asf/ignite/blob/841887ee/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 740b737..4078197 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -1286,11 +1286,6 @@ public class IgniteH2Indexing implements GridQueryIndexing {
runs.put(run.id(), run);
- GridRunningQueryInfo run = new GridRunningQueryInfo(qryIdGen.incrementAndGet(), qry, SQL, spaceName,
- U.currentTimeMillis(), null, true);
-
- runs.put(run.id(), run);
-
try {
ResultSet rs = executeSqlQueryWithTimer(spaceName, conn, sql, params, true, 0, cancel);
[07/17] ignite git commit: IGNITE-4200: Added copying of the C++
binaries.
Posted by sb...@apache.org.
IGNITE-4200: Added copying of the C++ binaries.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8b3860f5
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8b3860f5
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8b3860f5
Branch: refs/heads/ignite-4932
Commit: 8b3860f5bd9518985a8a516cd14ff24a3a615f4c
Parents: d566781
Author: Igor Sapego <is...@gridgain.com>
Authored: Tue Mar 21 17:54:51 2017 +0300
Committer: Igor Sapego <is...@gridgain.com>
Committed: Tue Mar 21 17:54:51 2017 +0300
----------------------------------------------------------------------
assembly/release-fabric-base.xml | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8b3860f5/assembly/release-fabric-base.xml
----------------------------------------------------------------------
diff --git a/assembly/release-fabric-base.xml b/assembly/release-fabric-base.xml
index d7aa0a2..97222c9 100644
--- a/assembly/release-fabric-base.xml
+++ b/assembly/release-fabric-base.xml
@@ -179,6 +179,12 @@
<outputDirectory>/platforms/cpp/docs</outputDirectory>
</fileSet>
+ <!-- Move CPP binaries. -->
+ <fileSet>
+ <directory>modules/platforms/cpp/bin</directory>
+ <outputDirectory>/platforms/cpp/bin</outputDirectory>
+ </fileSet>
+
<!-- Other files. -->
<fileSet>
<directory>bin</directory>
[03/17] ignite git commit: ignite-1.9 - test added
Posted by sb...@apache.org.
ignite-1.9 - test added
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3a496d82
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3a496d82
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3a496d82
Branch: refs/heads/ignite-4932
Commit: 3a496d82d56b005f2468eab5834e4a45133742b0
Parents: 841887e
Author: Sergi Vladykin <se...@gmail.com>
Authored: Sat Mar 18 14:46:00 2017 +0300
Committer: Sergi Vladykin <se...@gmail.com>
Committed: Sat Mar 18 14:46:00 2017 +0300
----------------------------------------------------------------------
.../query/IgniteSqlSplitterSelfTest.java | 28 ++++++++++++++++++++
1 file changed, 28 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3a496d82/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
index 8eae549..7570184 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
@@ -153,6 +153,34 @@ public class IgniteSqlSplitterSelfTest extends GridCommonAbstractTest {
}
/**
+ *
+ */
+ public void testReplicatedOnlyTables() {
+ IgniteCache<Integer,Value> p = ignite(0).getOrCreateCache(cacheConfig("p", true,
+ Integer.class, Value.class));
+ IgniteCache<Integer,Value> r = ignite(0).getOrCreateCache(cacheConfig("r", false,
+ Integer.class, Value.class));
+
+ try {
+ int cnt = 1000;
+
+ for (int i = 0; i < cnt; i++)
+ r.put(i, new Value(i, -i));
+
+ // Query data from replicated table using partitioned cache.
+ assertEquals(cnt, p.query(new SqlFieldsQuery("select 1 from \"r\".Value")).getAll().size());
+
+ List<List<?>> res = p.query(new SqlFieldsQuery("select count(1) from \"r\".Value")).getAll();
+ assertEquals(1, res.size());
+ assertEquals(cnt, ((Number)res.get(0).get(0)).intValue());
+ }
+ finally {
+ p.destroy();
+ r.destroy();
+ }
+ }
+
+ /**
* @throws Exception If failed.
*/
public void testSortedMergeIndex() throws Exception {