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 }}&nbsp;&nbsp;&nbsp;
-        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 {