You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/07/21 19:35:22 UTC
[1/2] incubator-ignite git commit: ignite-1015
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-1015 [created] 1486aea6c
ignite-1015
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f1f3da8e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f1f3da8e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f1f3da8e
Branch: refs/heads/ignite-1015
Commit: f1f3da8ed047bf3df173b74b6430d52fe06c9f57
Parents: f9fe999
Author: S.Vladykin <sv...@gridgain.com>
Authored: Tue Jul 21 20:29:58 2015 +0300
Committer: S.Vladykin <sv...@gridgain.com>
Committed: Tue Jul 21 20:29:58 2015 +0300
----------------------------------------------------------------------
.../processors/query/h2/sql/GridSqlElement.java | 17 +-
.../query/h2/sql/GridSqlOperation.java | 14 --
.../processors/query/h2/sql/GridSqlQuery.java | 17 +-
.../query/h2/sql/GridSqlQueryParser.java | 11 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 196 ++++++++++---------
.../processors/query/h2/sql/GridSqlSelect.java | 72 +------
.../processors/query/h2/sql/GridSqlType.java | 10 +-
.../processors/query/h2/sql/GridSqlUnion.java | 11 --
.../cache/GridCacheCrossCacheQuerySelfTest.java | 70 -------
9 files changed, 125 insertions(+), 293 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlElement.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlElement.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlElement.java
index a1c91ff..9a6b410 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlElement.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlElement.java
@@ -22,7 +22,7 @@ import java.util.*;
/**
* Abstract SQL element.
*/
-public abstract class GridSqlElement implements Cloneable, Iterable<GridSqlElement> {
+public abstract class GridSqlElement implements Iterable<GridSqlElement> {
/** */
protected List<GridSqlElement> children = new ArrayList<>();
@@ -78,21 +78,6 @@ public abstract class GridSqlElement implements Cloneable, Iterable<GridSqlEleme
return children.get(idx);
}
- /** {@inheritDoc} */
- @SuppressWarnings({"CloneCallsConstructors", "CloneDoesntDeclareCloneNotSupportedException"})
- @Override public GridSqlElement clone() {
- try {
- GridSqlElement res = (GridSqlElement)super.clone();
-
- res.children = new ArrayList<>(children);
-
- return res;
- }
- catch (CloneNotSupportedException e) {
- throw new IllegalStateException(e);
- }
- }
-
/**
* @param idx Index.
* @param child New child.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlOperation.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlOperation.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlOperation.java
index 625444c..6100618 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlOperation.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlOperation.java
@@ -54,20 +54,6 @@ public class GridSqlOperation extends GridSqlElement {
}
/**
- * @return Left.
- */
- public GridSqlElement left() {
- return child(0);
- }
-
- /**
- * @return Right.
- */
- public GridSqlElement right() {
- return child(1);
- }
-
- /**
* @return Operation type.
*/
public GridSqlOperationType opType() {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuery.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuery.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuery.java
index 207588e..b562279 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuery.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuery.java
@@ -24,7 +24,7 @@ import java.util.*;
/**
* Select query.
*/
-public abstract class GridSqlQuery implements Cloneable {
+public abstract class GridSqlQuery {
/** */
protected boolean distinct;
@@ -185,19 +185,4 @@ public abstract class GridSqlQuery implements Cloneable {
buff.append(" OFFSET ").append(StringUtils.unEnclose(offset.getSQL()));
}
-
- /** {@inheritDoc} */
- @SuppressWarnings({"CloneCallsConstructors", "CloneDoesntDeclareCloneNotSupportedException"})
- @Override public GridSqlQuery clone() {
- try {
- GridSqlQuery res = (GridSqlQuery)super.clone();
-
- res.sort = new ArrayList<>(sort);
-
- return res;
- }
- catch (CloneNotSupportedException e) {
- throw new RuntimeException(e); // Never thrown.
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
index 74e4748..4267b4a 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
@@ -276,21 +276,14 @@ public class GridSqlQueryParser {
int[] grpIdx = GROUP_INDEXES.get(select);
- if (grpIdx != null) {
+ if (grpIdx != null)
res.groupColumns(grpIdx);
- for (int idx : grpIdx)
- res.addGroupExpression(parseExpression(expressions.get(idx)));
- }
-
int havingIdx = HAVING_INDEX.get(select);
- if (havingIdx >= 0) {
+ if (havingIdx >= 0)
res.havingColumn(havingIdx);
- res.having(parseExpression(expressions.get(havingIdx)));
- }
-
processSortOrder(select.getSortOrder(), res);
res.limit(parseExpression(select.getLimit()));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
index 7ffbc16..b1dc0dc 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
@@ -70,77 +70,85 @@ public class GridSqlQuerySplitter {
}
/**
- * @param stmt Prepared statement.
- * @param params Parameters.
- * @param collocated Collocated query.
- * @return Two step query.
+ * @param qry Query.
+ * @return Select query.
*/
- public static GridCacheTwoStepQuery split(JdbcPreparedStatement stmt, Object[] params, boolean collocated) {
- if (params == null)
- params = GridCacheSqlQuery.EMPTY_PARAMS;
+ private static GridSqlSelect wrapUnion(GridSqlQuery qry) {
+ if (qry instanceof GridSqlSelect)
+ return (GridSqlSelect)qry;
- final GridSqlQuery qry0 = GridSqlQueryParser.parse(stmt);
+ // Handle UNION.
+ GridSqlSelect wrapQry = new GridSqlSelect().from(new GridSqlSubquery(qry));
- GridSqlSelect srcQry;
+ wrapQry.explain(qry.explain());
+ qry.explain(false);
- if (qry0 instanceof GridSqlSelect)
- srcQry = (GridSqlSelect)qry0;
- else { // Handle UNION.
- srcQry = new GridSqlSelect().from(new GridSqlSubquery(qry0));
+ GridSqlSelect left = leftest(qry);
- srcQry.explain(qry0.explain());
+ int c = 0;
- GridSqlSelect left = leftest(qry0);
+ for (GridSqlElement expr : left.select(true)) {
+ String colName;
- int c = 0;
+ if (expr instanceof GridSqlAlias)
+ colName = ((GridSqlAlias)expr).alias();
+ else if (expr instanceof GridSqlColumn)
+ colName = ((GridSqlColumn)expr).columnName();
+ else {
+ colName = columnName(c);
- for (GridSqlElement expr : left.select(true)) {
- String colName;
+ expr = alias(colName, expr);
- if (expr instanceof GridSqlAlias)
- colName = ((GridSqlAlias)expr).alias();
- else if (expr instanceof GridSqlColumn)
- colName = ((GridSqlColumn)expr).columnName();
- else {
- colName = columnName(c);
+ // Set generated alias to the expression.
+ left.setSelectExpression(c, expr);
+ }
- expr = alias(colName, expr);
+ GridSqlColumn col = column(colName);
- // Set generated alias to the expression.
- left.setSelectExpression(c, expr);
- }
+ wrapQry.addSelectExpression(col, true);
- GridSqlColumn col = column(colName);
+ c++;
+ }
- srcQry.addSelectExpression(col, true);
+ // ORDER BY
+ if (!qry.sort().isEmpty()) {
+ for (GridSqlSortColumn col : qry.sort())
+ wrapQry.addSort(col);
+ }
- qry0.sort();
+ return wrapQry;
+ }
- c++;
- }
+ /**
+ * @param stmt Prepared statement.
+ * @param params Parameters.
+ * @param collocated Collocated query.
+ * @return Two step query.
+ */
+ public static GridCacheTwoStepQuery split(JdbcPreparedStatement stmt, Object[] params, boolean collocated) {
+ if (params == null)
+ params = GridCacheSqlQuery.EMPTY_PARAMS;
- // ORDER BY
- if (!qry0.sort().isEmpty()) {
- for (GridSqlSortColumn col : qry0.sort())
- srcQry.addSort(col);
- }
- }
+ Set<String> spaces = new HashSet<>();
+
+ // Map query will be direct reference to the original query AST.
+ // Thus all the modifications will be performed on the original AST, so we should be careful when
+ // nullifying or updating things, have to make sure that we will not need them in the original form later.
+ final GridSqlSelect mapQry = wrapUnion(collectAllSpaces(GridSqlQueryParser.parse(stmt), spaces));
final String mergeTable = TABLE_FUNC_NAME + "()"; // table(0); TODO
- // Create map and reduce queries.
- GridSqlSelect mapQry = srcQry.clone();
+ final boolean explain = mapQry.explain();
mapQry.explain(false);
GridSqlSelect rdcQry = new GridSqlSelect().from(new GridSqlFunction(null, TABLE_FUNC_NAME)); // table(mergeTable)); TODO
// Split all select expressions into map-reduce parts.
- List<GridSqlElement> mapExps = F.addAll(
- new ArrayList<GridSqlElement>(srcQry.allColumns()),
- srcQry.select(false));
+ List<GridSqlElement> mapExps = F.addAll(new ArrayList<GridSqlElement>(mapQry.allColumns()),
+ mapQry.select(false));
- GridSqlElement[] rdcExps = new GridSqlElement[srcQry.visibleColumns()];
+ GridSqlElement[] rdcExps = new GridSqlElement[mapQry.visibleColumns()];
Set<String> colNames = new HashSet<>();
@@ -162,66 +170,56 @@ public class GridSqlQuerySplitter {
rdcQry.addSelectExpression(column(((GridSqlAlias)mapExps.get(i)).alias()), false);
// -- GROUP BY
- if (srcQry.hasGroupBy()) {
- mapQry.clearGroups();
-
- for (int col : srcQry.groupColumns())
- mapQry.addGroupExpression(column(((GridSqlAlias)mapExps.get(col)).alias()));
-
- if (!collocated) {
- for (int col : srcQry.groupColumns())
- rdcQry.addGroupExpression(column(((GridSqlAlias)mapExps.get(col)).alias()));
- }
- }
+ if (mapQry.groupColumns() != null && !collocated)
+ rdcQry.groupColumns(mapQry.groupColumns());
// -- HAVING
- if (srcQry.having() != null && !collocated) {
- // TODO Find aggregate functions in HAVING clause.
- rdcQry.whereAnd(column(columnName(srcQry.havingColumn())));
+ if (mapQry.havingColumn() >= 0 && !collocated) {
+ // TODO Find aggregate functions in HAVING clause or rewrite query to put all aggregates to SELECT clause.
+ rdcQry.whereAnd(column(columnName(mapQry.havingColumn())));
- mapQry.having(null);
+ mapQry.havingColumn(-1);
}
// -- ORDER BY
- if (!srcQry.sort().isEmpty()) {
+ if (!mapQry.sort().isEmpty()) {
+ for (GridSqlSortColumn sortCol : mapQry.sort())
+ rdcQry.addSort(sortCol);
+
if (aggregateFound) // Ordering over aggregates does not make sense.
mapQry.clearSort(); // Otherwise map sort will be used by offset-limit.
-
- for (GridSqlSortColumn sortCol : srcQry.sort())
- rdcQry.addSort(sortCol);
+ // TODO Check if sorting is done over aggregated expression, otherwise we can sort and use offset-limit.
}
// -- LIMIT
- if (srcQry.limit() != null) {
+ if (mapQry.limit() != null) {
+ rdcQry.limit(mapQry.limit());
+
if (aggregateFound)
mapQry.limit(null);
-
- rdcQry.limit(srcQry.limit());
}
// -- OFFSET
- if (srcQry.offset() != null) {
- mapQry.offset(null);
+ if (mapQry.offset() != null) {
+ rdcQry.offset(mapQry.offset());
- rdcQry.offset(srcQry.offset());
+ mapQry.offset(null);
}
// -- DISTINCT
- if (srcQry.distinct()) {
- mapQry.distinct(false);
+ if (mapQry.distinct()) {
+ mapQry.distinct(!aggregateFound && mapQry.groupColumns() == null && mapQry.havingColumn() < 0);
rdcQry.distinct(true);
}
// Build resulting two step query.
- GridCacheTwoStepQuery res = new GridCacheTwoStepQuery(
- collectAllSpaces(qry0, new HashSet<String>()),
- rdcQry.getSQL(),
+ GridCacheTwoStepQuery res = new GridCacheTwoStepQuery(spaces, rdcQry.getSQL(),
findParams(rdcQry, params, new ArrayList<>()).toArray());
res.addMapQuery(mergeTable, mapQry.getSQL(),
findParams(mapQry, params, new ArrayList<>(params.length)).toArray());
- res.explain(qry0.explain());
+ res.explain(explain);
return res;
}
@@ -229,19 +227,27 @@ public class GridSqlQuerySplitter {
/**
* @param qry Query.
* @param spaces Space names.
- * @return Space names.
+ * @return Query.
*/
- private static Set<String> collectAllSpaces(GridSqlQuery qry, Set<String> spaces) {
+ private static GridSqlQuery collectAllSpaces(GridSqlQuery qry, Set<String> spaces) {
if (qry instanceof GridSqlUnion) {
GridSqlUnion union = (GridSqlUnion)qry;
collectAllSpaces(union.left(), spaces);
collectAllSpaces(union.right(), spaces);
}
- else
- collectAllSpacesInFrom(((GridSqlSelect)qry).from(), spaces);
+ else {
+ GridSqlSelect select = (GridSqlSelect)qry;
+
+ collectAllSpacesInFrom(select.from(), spaces);
+
+ for (GridSqlElement el : select.select(false))
+ collectAllSpacesInSubqueries(el, spaces);
+
+ collectAllSpacesInSubqueries(select.where(), spaces);
+ }
- return spaces;
+ return qry;
}
/**
@@ -271,6 +277,23 @@ public class GridSqlQuerySplitter {
}
/**
+ * Searches spaces in subqueries in SELECT and WHERE clauses.
+ * @param el Element.
+ * @param spaces Space names.
+ */
+ private static void collectAllSpacesInSubqueries(GridSqlElement el, Set<String> spaces) {
+ if (el instanceof GridSqlAlias)
+ el = el.child();
+
+ if (el instanceof GridSqlOperation || el instanceof GridSqlFunction || el instanceof GridSqlAggregateFunction) {
+ for (GridSqlElement child : el)
+ collectAllSpacesInSubqueries(child, spaces);
+ }
+ else if (el instanceof GridSqlSubquery)
+ collectAllSpaces(((GridSqlSubquery)el).select(), spaces);
+ }
+
+ /**
* @param qry Select.
* @param params Parameters.
* @param target Extracted parameters.
@@ -307,10 +330,7 @@ public class GridSqlQuerySplitter {
findParams(qry.from(), params, target);
findParams(qry.where(), params, target);
- for (GridSqlElement el : qry.groups())
- findParams(el, params, target);
-
- findParams(qry.having(), params, target);
+ // Don't search in GROUP BY and HAVING since they expected to be in select list.
findParams(qry.limit(), params, target);
findParams(qry.offset(), params, target);
@@ -362,7 +382,7 @@ public class GridSqlQuerySplitter {
* @return {@code true} If aggregate was found.
*/
private static boolean splitSelectExpression(List<GridSqlElement> mapSelect, GridSqlElement[] rdcSelect,
- Set<String> colNames, int idx, boolean collocated) {
+ Set<String> colNames, final int idx, boolean collocated) {
GridSqlElement el = mapSelect.get(idx);
GridSqlAlias alias = null;
@@ -416,7 +436,6 @@ public class GridSqlQuerySplitter {
case MAX: // MAX( MAX(x) )
case MIN: // MIN( MIN(x) )
mapAgg = aggregate(agg.distinct(), agg.type()).addChild(agg.child());
-
rdcAgg = aggregate(agg.distinct(), agg.type()).addChild(column(mapAggAlias));
break;
@@ -429,7 +448,6 @@ public class GridSqlQuerySplitter {
mapAgg.addChild(agg.child());
rdcAgg = aggregate(false, SUM).addChild(column(mapAggAlias));
-
rdcAgg = function(CAST).setCastType("BIGINT").addChild(rdcAgg);
break;
@@ -469,7 +487,7 @@ public class GridSqlQuerySplitter {
GridSqlType type = el.expressionResultType();
if (type != null && type.type() == Value.UUID) // There is no JDBC type UUID, so conversion to bytes occurs.
- rdcEl = function(CAST).setCastType("UUID").addChild(rdcEl);
+ rdcEl = function(CAST).setCastType("UUID").addChild(rdcEl); // TODO remove this cast when table function removed
if (colNames.add(rdcColAlias)) // To handle column name duplication (usually wildcard for few tables).
rdcEl = alias(rdcColAlias, rdcEl);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java
index 9972bba..84b0031 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java
@@ -32,9 +32,6 @@ public class GridSqlSelect extends GridSqlQuery {
private List<GridSqlElement> select = new ArrayList<>();
/** */
- private List<GridSqlElement> groups = new ArrayList<>();
-
- /** */
private int[] grpCols;
/** */
@@ -44,9 +41,6 @@ public class GridSqlSelect extends GridSqlQuery {
private GridSqlElement where;
/** */
- private GridSqlElement having;
-
- /** */
private int havingCol = -1;
/** {@inheritDoc} */
@@ -84,12 +78,14 @@ public class GridSqlSelect extends GridSqlQuery {
if (where != null)
buff.append("\nWHERE ").append(StringUtils.unEnclose(where.getSQL()));
- if (!groups.isEmpty()) {
+ if (grpCols != null) {
buff.append("\nGROUP BY ");
buff.resetCount();
- for (GridSqlElement expression : groups) {
+ for (int grpCol : grpCols) {
+ GridSqlElement expression = allExprs.get(grpCol);
+
buff.appendExceptFirst(", ");
if (expression instanceof GridSqlAlias)
@@ -99,8 +95,8 @@ public class GridSqlSelect extends GridSqlQuery {
}
}
- if (having != null)
- buff.append("\nHAVING ").append(StringUtils.unEnclose(having.getSQL()));
+ if (havingCol >= 0)
+ buff.append("\nHAVING ").append(StringUtils.unEnclose(allExprs.get(havingCol).getSQL()));
getSortLimitSQL(buff);
@@ -158,38 +154,6 @@ public class GridSqlSelect extends GridSqlQuery {
}
/**
- * @return Expressions.
- */
- public Iterable<GridSqlElement> groups() {
- return groups;
- }
-
- /**
- * @return {@code true} If the select has group by expression.
- */
- public boolean hasGroupBy() {
- return !groups.isEmpty();
- }
-
- /**
- *
- */
- public void clearGroups() {
- groups = new ArrayList<>();
- grpCols = null;
- }
-
- /**
- * @param expression Expression.
- */
- public void addGroupExpression(GridSqlElement expression) {
- if (expression == null)
- throw new NullPointerException();
-
- groups.add(expression);
- }
-
- /**
* @return Group columns.
*/
public int[] groupColumns() {
@@ -253,20 +217,15 @@ public class GridSqlSelect extends GridSqlQuery {
* @return Having.
*/
public GridSqlElement having() {
- return having;
- }
-
- /**
- * @param having New having.
- */
- public void having(GridSqlElement having) {
- this.having = having;
+ return havingCol >= 0 ? allExprs.get(havingCol) : null;
}
/**
* @param col Index of HAVING column.
*/
public void havingColumn(int col) {
+ assert col >= -1 : col;
+
havingCol = col;
}
@@ -276,17 +235,4 @@ public class GridSqlSelect extends GridSqlQuery {
public int havingColumn() {
return havingCol;
}
-
- /** {@inheritDoc} */
- @SuppressWarnings({"CloneCallsConstructors", "CloneDoesntDeclareCloneNotSupportedException"})
- @Override public GridSqlSelect clone() {
- GridSqlSelect res = (GridSqlSelect)super.clone();
-
- res.groups = new ArrayList<>(groups);
- res.grpCols = grpCols == null ? null : grpCols.clone();
- res.select = new ArrayList<>(select);
- res.allExprs = new ArrayList<>(allExprs);
-
- return res;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlType.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlType.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlType.java
index 117313d..1dbcd46 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlType.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlType.java
@@ -22,19 +22,19 @@ package org.apache.ignite.internal.processors.query.h2.sql;
*/
public class GridSqlType {
/** H2 type. */
- private int type;
+ private final int type;
/** */
- private int scale;
+ private final int scale;
/** */
- private long precision;
+ private final long precision;
/** */
- private int displaySize;
+ private final int displaySize;
/** */
- private String sql;
+ private final String sql;
/**
* @param type H2 Type.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlUnion.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlUnion.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlUnion.java
index 96beb6b..721c288 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlUnion.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlUnion.java
@@ -79,17 +79,6 @@ public class GridSqlUnion extends GridSqlQuery {
return buff.toString();
}
- /** {@inheritDoc} */
- @SuppressWarnings({"CloneCallsConstructors", "CloneDoesntDeclareCloneNotSupportedException"})
- @Override public GridSqlUnion clone() {
- GridSqlUnion res = (GridSqlUnion)super.clone();
-
- res.right = right.clone();
- res.left = left.clone();
-
- return res;
- }
-
/**
* @return Union type.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1f3da8e/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheCrossCacheQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheCrossCacheQuerySelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheCrossCacheQuerySelfTest.java
index b295c46..f94d695 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheCrossCacheQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheCrossCacheQuerySelfTest.java
@@ -23,17 +23,14 @@ import org.apache.ignite.cache.query.*;
import org.apache.ignite.cache.query.annotations.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.cache.query.*;
import org.apache.ignite.internal.processors.query.*;
import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.marshaller.optimized.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.apache.ignite.testframework.junits.common.*;
import java.util.*;
-import java.util.concurrent.*;
import static org.apache.ignite.cache.CacheAtomicityMode.*;
import static org.apache.ignite.cache.CacheRebalanceMode.*;
@@ -113,37 +110,6 @@ public class GridCacheCrossCacheQuerySelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- public void testTwoStep() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-827");
-
- String cache = "partitioned";
-
- GridQueryProcessor qryProc = ((IgniteKernal) ignite).context().query();
-
-// for (Map.Entry<Integer, FactPurchase> e : qx.createSqlQuery(FactPurchase.class, "1 = 1").execute().get())
-// X.println("___ " + e);
-
- GridCacheTwoStepQuery q = new GridCacheTwoStepQuery(null,
- "select cast(sum(x) as long) from _cnts_ where ? = ?", 1, 1);
-
- q.addMapQuery("_cnts_", "select count(*) x from \"partitioned\".FactPurchase where ? = ?", 2, 2);
-
- Iterator<List<?>> it = qryProc.queryTwoStep(cache, q).iterator();
-
- try {
- Object cnt = it.next().get(0);
-
- assertEquals(10L, cnt);
- }
- finally {
- if (it instanceof AutoCloseable)
- ((AutoCloseable)it).close();
- }
- }
-
- /**
- * @throws Exception If failed.
- */
public void testTwoStepGroupAndAggregates() throws Exception {
IgniteInternalCache<Integer, FactPurchase> cache =
((IgniteKernal)ignite).getCache("partitioned");
@@ -258,42 +224,6 @@ public class GridCacheCrossCacheQuerySelfTest extends GridCommonAbstractTest {
// return 10 * 60 * 1000;
// }
- public void testLoop() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-827");
-
- final IgniteCache<Object,Object> c = ignite.cache("partitioned");
-
- X.println("___ GET READY");
-
- Thread.sleep(20000);
-
- X.println("___ GO");
-
- multithreaded(new Callable<Object>() {
- @Override public Object call() throws Exception {
- long start = System.currentTimeMillis();
-
- for (int i = 0; i < 1000000; i++) {
- if (i % 10000 == 0) {
- long t = System.currentTimeMillis();
-
- X.println(Thread.currentThread().getId() + "__ " + i + " -> " + (t - start));
-
- start = t;
- }
-
- c.query(new SqlFieldsQuery("select * from FactPurchase")).getAll();
- }
-
- return null;
- }
- }, 20);
-
- X.println("___ OK");
-
- Thread.sleep(300000);
- }
-
/**
* @param l List.
* @param idx Index.
[2/2] incubator-ignite git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1015
Posted by se...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1015
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1486aea6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1486aea6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1486aea6
Branch: refs/heads/ignite-1015
Commit: 1486aea6cdddc35c0eb6d07e036eb5f4f256d700
Parents: f1f3da8 73a2b14
Author: S.Vladykin <sv...@gridgain.com>
Authored: Tue Jul 21 20:30:29 2015 +0300
Committer: S.Vladykin <sv...@gridgain.com>
Committed: Tue Jul 21 20:30:29 2015 +0300
----------------------------------------------------------------------
DEVNOTES.txt | 8 +
RELEASE_NOTES.txt | 14 +
assembly/LICENSE_FABRIC | 306 +++++
assembly/LICENSE_HADOOP | 259 ++++
assembly/NOTICE_FABRIC | 13 +
assembly/NOTICE_HADOOP | 12 +
assembly/dependencies-fabric.xml | 14 +
assembly/dependencies-hadoop.xml | 12 +
assembly/dependencies-visor-console.xml | 20 +-
assembly/release-base.xml | 10 -
assembly/release-fabric.xml | 12 +
assembly/release-hadoop.xml | 12 +
bin/ignite.bat | 8 +-
bin/ignite.sh | 6 +-
bin/include/parseargs.bat | 1 +
bin/include/parseargs.sh | 3 +
dev-tools/slurp.sh | 2 +-
examples/pom.xml | 2 +-
.../examples/ScalarCacheAffinityExample.scala | 2 +-
.../scalar/examples/ScalarCacheExample.scala | 2 +-
.../ScalarCachePopularNumbersExample.scala | 2 +-
.../examples/ScalarCacheQueryExample.scala | 2 +-
.../examples/ScalarSnowflakeSchemaExample.scala | 4 +-
modules/aop/licenses/aspectj-epl-license.txt | 69 -
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 35 +
.../src/main/resources/META-INF/licenses.txt.vm | 42 +
modules/aws/pom.xml | 2 +-
modules/clients/pom.xml | 2 +-
.../ClientAbstractConnectivitySelfTest.java | 4 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/licenses/jsr166-license.txt | 3 +
modules/core/licenses/snaptree-bsd-license.txt | 2 +-
modules/core/pom.xml | 13 +-
.../src/main/java/org/apache/ignite/Ignite.java | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 22 +-
.../IgniteClientDisconnectedException.java | 61 +
.../java/org/apache/ignite/IgniteCluster.java | 8 +
.../apache/ignite/IgniteSystemProperties.java | 3 +
.../org/apache/ignite/cache/CacheManager.java | 13 +-
.../apache/ignite/cache/CacheTypeMetadata.java | 53 +-
.../AffinityNodeAddressHashResolver.java | 8 +-
.../affinity/AffinityNodeHashResolver.java | 5 +
.../affinity/AffinityNodeIdHashResolver.java | 6 +
.../affinity/fair/FairAffinityFunction.java | 5 +-
.../rendezvous/RendezvousAffinityFunction.java | 22 +-
.../cache/eviction/fifo/FifoEvictionPolicy.java | 5 -
.../cache/eviction/lru/LruEvictionPolicy.java | 5 -
.../eviction/sorted/SortedEvictionPolicy.java | 19 +-
.../org/apache/ignite/cluster/ClusterGroup.java | 18 +-
.../org/apache/ignite/cluster/ClusterNode.java | 2 +
.../ignite/compute/ComputeJobResultPolicy.java | 3 +-
.../configuration/CacheConfiguration.java | 115 +-
.../configuration/IgniteConfiguration.java | 26 +
.../configuration/IgniteReflectionFactory.java | 81 +-
.../configuration/NearCacheConfiguration.java | 10 +-
.../configuration/TransactionConfiguration.java | 23 +
.../apache/ignite/internal/GridComponent.java | 18 +
.../ignite/internal/GridJobSiblingImpl.java | 2 +-
.../ignite/internal/GridKernalContext.java | 5 +
.../ignite/internal/GridKernalContextImpl.java | 36 +-
.../ignite/internal/GridKernalGateway.java | 46 +-
.../ignite/internal/GridKernalGatewayImpl.java | 85 +-
.../apache/ignite/internal/GridKernalState.java | 3 +
.../ignite/internal/GridPluginComponent.java | 11 +
...gniteClientDisconnectedCheckedException.java | 49 +
.../apache/ignite/internal/IgniteKernal.java | 272 ++--
.../ignite/internal/IgniteNodeAttributes.java | 3 +
.../internal/cluster/ClusterGroupAdapter.java | 50 +-
.../cluster/IgniteClusterAsyncImpl.java | 17 +-
.../internal/cluster/IgniteClusterImpl.java | 18 +
.../internal/interop/InteropIgnition.java | 48 +-
.../internal/interop/InteropProcessor.java | 7 +
.../internal/managers/GridManagerAdapter.java | 19 +-
.../managers/communication/GridIoManager.java | 173 ++-
.../managers/communication/GridIoMessage.java | 15 +-
.../managers/communication/GridIoPolicy.java | 32 +-
.../deployment/GridDeploymentCommunication.java | 2 +-
.../deployment/GridDeploymentManager.java | 95 +-
.../discovery/GridDiscoveryManager.java | 229 +++-
.../eventstorage/GridEventStorageManager.java | 2 +-
.../failover/GridFailoverContextImpl.java | 28 +-
.../managers/failover/GridFailoverManager.java | 13 +-
.../processors/GridProcessorAdapter.java | 11 +
.../affinity/GridAffinityAssignmentCache.java | 26 +-
.../processors/cache/CacheObjectImpl.java | 1 -
.../processors/cache/CacheOperationContext.java | 44 +-
.../cache/CacheOsConflictResolutionManager.java | 6 +
.../internal/processors/cache/CacheType.java | 8 +-
.../cache/DynamicCacheChangeBatch.java | 17 +
.../cache/DynamicCacheChangeRequest.java | 39 +-
.../processors/cache/GridCacheAdapter.java | 118 +-
.../cache/GridCacheAffinityManager.java | 21 +-
.../processors/cache/GridCacheAtomicFuture.java | 12 +-
.../processors/cache/GridCacheAttributes.java | 11 +-
.../cache/GridCacheConcurrentMap.java | 15 +-
.../processors/cache/GridCacheContext.java | 69 +-
.../cache/GridCacheDeploymentManager.java | 10 +-
.../processors/cache/GridCacheGateway.java | 120 +-
.../processors/cache/GridCacheIoManager.java | 28 +-
.../processors/cache/GridCacheManager.java | 6 +
.../cache/GridCacheManagerAdapter.java | 6 +
.../processors/cache/GridCacheMvccManager.java | 51 +-
.../GridCachePartitionExchangeManager.java | 146 ++-
.../processors/cache/GridCachePreloader.java | 5 +
.../cache/GridCachePreloaderAdapter.java | 5 +
.../processors/cache/GridCacheProcessor.java | 694 ++++++----
.../processors/cache/GridCacheProxyImpl.java | 10 +-
.../cache/GridCacheSharedContext.java | 120 +-
.../cache/GridCacheSharedManager.java | 11 +-
.../cache/GridCacheSharedManagerAdapter.java | 20 +-
.../processors/cache/GridCacheSwapManager.java | 257 ++--
.../processors/cache/GridCacheUtils.java | 51 +
.../processors/cache/IgniteCacheFutureImpl.java | 53 +
.../processors/cache/IgniteCacheProxy.java | 531 +++++---
.../processors/cache/IgniteInternalCache.java | 4 +-
.../CacheDataStructuresManager.java | 35 +
.../distributed/GridCacheTxFinishSync.java | 46 +
.../GridDistributedTxFinishRequest.java | 11 +-
.../GridDistributedTxPrepareRequest.java | 9 +-
.../GridDistributedTxRemoteAdapter.java | 3 +-
.../distributed/dht/GridDhtCacheAdapter.java | 14 +-
.../distributed/dht/GridDhtCacheEntry.java | 4 +-
.../distributed/dht/GridDhtLocalPartition.java | 3 +-
.../distributed/dht/GridDhtLockFuture.java | 2 +-
.../dht/GridDhtPartitionTopologyImpl.java | 24 +
.../distributed/dht/GridDhtTopologyFuture.java | 14 -
.../distributed/dht/GridDhtTxFinishRequest.java | 3 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 3 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 3 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 16 +-
.../cache/distributed/dht/GridDhtTxRemote.java | 5 +-
.../dht/GridPartitionedGetFuture.java | 26 +-
.../dht/atomic/GridDhtAtomicCache.java | 33 +-
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 15 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 202 ++-
.../GridDhtPartitionsExchangeFuture.java | 107 +-
.../dht/preloader/GridDhtPreloader.java | 16 +-
.../distributed/near/GridNearCacheAdapter.java | 8 +
.../distributed/near/GridNearGetFuture.java | 17 +-
.../near/GridNearTxFinishRequest.java | 3 +-
.../cache/distributed/near/GridNearTxLocal.java | 3 +-
.../distributed/near/GridNearTxRemote.java | 5 +-
.../cache/dr/GridOsCacheDrManager.java | 7 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../query/GridCacheDistributedQueryManager.java | 22 +
.../cache/query/GridCacheQueryAdapter.java | 46 +-
.../query/GridCacheQueryFutureAdapter.java | 2 +-
.../continuous/CacheContinuousQueryHandler.java | 9 +-
.../cache/transactions/IgniteInternalTx.java | 3 +-
.../transactions/IgniteTransactionsImpl.java | 59 +-
.../cache/transactions/IgniteTxAdapter.java | 11 +-
.../transactions/IgniteTxLocalAdapter.java | 3 +-
.../cache/transactions/IgniteTxManager.java | 23 +-
.../transactions/TransactionProxyImpl.java | 2 +-
.../cache/version/GridCacheVersionManager.java | 9 +-
.../processors/clock/GridClockServer.java | 21 +-
.../clock/GridClockSyncProcessor.java | 6 +-
.../processors/closure/AffinityTask.java | 35 +
.../closure/GridClosureProcessor.java | 63 +-
.../processors/cluster/ClusterProcessor.java | 11 +
.../continuous/GridContinuousHandler.java | 9 +-
.../continuous/GridContinuousProcessor.java | 127 +-
.../datastreamer/DataStreamProcessor.java | 27 +-
.../datastreamer/DataStreamerImpl.java | 90 +-
.../datastructures/DataStructuresProcessor.java | 136 +-
.../datastructures/GridCacheAtomicLongImpl.java | 58 +-
.../GridCacheAtomicReferenceImpl.java | 34 +-
.../GridCacheAtomicSequenceImpl.java | 44 +-
.../GridCacheAtomicStampedImpl.java | 54 +-
.../GridCacheCountDownLatchImpl.java | 82 +-
.../datastructures/GridCacheRemovable.java | 6 +-
.../datastructures/GridCacheSetImpl.java | 15 +-
.../datastructures/GridCacheSetProxy.java | 47 +-
.../processors/hadoop/HadoopJobInfo.java | 4 +-
.../hadoop/counter/HadoopCounterWriter.java | 5 +-
.../internal/processors/igfs/IgfsContext.java | 5 +-
.../processors/job/GridJobProcessor.java | 2 +-
.../internal/processors/job/GridJobWorker.java | 2 +-
.../processors/plugin/CachePluginManager.java | 10 +-
.../plugin/IgnitePluginProcessor.java | 3 +-
.../processors/query/GridQueryIndexing.java | 7 +
.../processors/query/GridQueryProcessor.java | 15 +-
.../processors/rest/GridRestProcessor.java | 4 +-
.../handlers/task/GridTaskCommandHandler.java | 12 +-
.../service/GridServiceProcessor.java | 45 +-
.../processors/service/GridServiceProxy.java | 13 +-
.../processors/task/GridTaskProcessor.java | 78 +-
.../processors/task/GridTaskWorker.java | 87 +-
.../internal/util/GridConfigurationFinder.java | 55 +-
.../ignite/internal/util/IgniteUtils.java | 57 +-
.../util/future/GridFutureChainListener.java | 4 -
.../internal/util/future/IgniteFutureImpl.java | 30 +-
.../shmem/IpcSharedMemoryClientEndpoint.java | 5 +-
.../shmem/IpcSharedMemoryServerEndpoint.java | 10 +-
.../ignite/internal/util/lang/GridFunc.java | 2 +
.../util/nio/GridNioMessageTracker.java | 23 +-
.../ignite/internal/util/nio/GridNioServer.java | 9 +
.../util/nio/GridSelectorNioSessionImpl.java | 8 +
.../apache/ignite/internal/visor/VisorJob.java | 2 +
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../visor/cache/VisorCacheStopTask.java | 2 +-
.../internal/visor/log/VisorLogSearchTask.java | 2 +-
.../visor/node/VisorNodeDataCollectorJob.java | 4 +
.../visor/query/VisorQueryCleanupTask.java | 14 +
.../util/VisorClusterGroupEmptyException.java | 37 +
.../plugin/extensions/communication/IoPool.java | 42 +
.../plugin/security/SecurityPermission.java | 7 +-
.../plugin/security/SecuritySubjectType.java | 3 +-
.../java/org/apache/ignite/spi/IgniteSpi.java | 15 +
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 51 +-
.../communication/tcp/TcpCommunicationSpi.java | 358 ++++--
.../spi/discovery/DiscoverySpiDataExchange.java | 3 +-
.../ignite/spi/discovery/tcp/ClientImpl.java | 560 ++++++--
.../ignite/spi/discovery/tcp/ServerImpl.java | 387 ++++--
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 9 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 39 +-
.../tcp/internal/TcpDiscoveryNode.java | 43 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 +-
.../TcpDiscoveryMulticastIpFinder.java | 76 +-
.../messages/TcpDiscoveryAbstractMessage.java | 3 +
.../messages/TcpDiscoveryClientAckResponse.java | 64 +
.../messages/TcpDiscoveryHandshakeResponse.java | 14 +
.../ignite/spi/failover/FailoverContext.java | 18 +
.../spi/failover/always/AlwaysFailoverSpi.java | 25 +
.../spi/swapspace/file/FileSwapSpaceSpi.java | 2 +-
.../startup/cmdline/CommandLineStartup.java | 3 +-
.../startup/cmdline/CommandLineTransformer.java | 9 +
.../META-INF/classnames-jdk.properties | 3 +
.../core/src/main/resources/ignite.properties | 2 +-
.../core/src/test/config/spark/spark-config.xml | 46 +
modules/core/src/test/config/tests.properties | 6 +-
.../affinity/IgniteClientNodeAffinityTest.java | 14 +-
.../IgniteFairAffinityDynamicCacheSelfTest.java | 3 +-
...cheStoreSessionListenerAbstractSelfTest.java | 112 +-
.../internal/ClusterGroupAbstractTest.java | 777 +++++++++++
.../internal/ClusterGroupHostsSelfTest.java | 141 ++
.../ignite/internal/ClusterGroupSelfTest.java | 251 ++++
.../internal/GridDiscoveryEventSelfTest.java | 12 +-
.../internal/GridProjectionAbstractTest.java | 784 ------------
.../ignite/internal/GridProjectionSelfTest.java | 251 ----
.../apache/ignite/internal/GridSelfTest.java | 2 +-
.../GridTaskFailoverAffinityRunTest.java | 170 +++
.../internal/GridUpdateNotifierSelfTest.java | 15 +-
.../IgniteClientReconnectAbstractTest.java | 363 ++++++
.../IgniteClientReconnectApiExceptionTest.java | 846 ++++++++++++
.../IgniteClientReconnectAtomicsTest.java | 672 ++++++++++
.../IgniteClientReconnectCacheTest.java | 1202 ++++++++++++++++++
.../IgniteClientReconnectCollectionsTest.java | 443 +++++++
.../IgniteClientReconnectComputeTest.java | 192 +++
...eClientReconnectContinuousProcessorTest.java | 372 ++++++
...IgniteClientReconnectDiscoveryStateTest.java | 123 ++
...niteClientReconnectFailoverAbstractTest.java | 231 ++++
.../IgniteClientReconnectFailoverTest.java | 227 ++++
.../IgniteClientReconnectServicesTest.java | 260 ++++
.../internal/IgniteClientReconnectStopTest.java | 106 ++
.../IgniteClientReconnectStreamerTest.java | 233 ++++
.../IgniteSlowClientDetectionSelfTest.java | 1 +
.../communication/GridIoManagerSelfTest.java | 2 +-
.../GridDeploymentManagerStopSelfTest.java | 7 +
.../IgniteTopologyPrintFormatSelfTest.java | 289 +++++
.../GridCacheTxLoadFromStoreOnLockSelfTest.java | 34 +-
.../cache/CacheAffinityCallSelfTest.java | 174 +++
.../cache/CacheFutureExceptionSelfTest.java | 158 +++
.../CacheMetricsForClusterGroupSelfTest.java | 10 +-
.../cache/CacheOffheapMapEntrySelfTest.java | 7 +-
.../CacheReadThroughAtomicRestartSelfTest.java | 32 +
...heReadThroughLocalAtomicRestartSelfTest.java | 32 +
.../CacheReadThroughLocalRestartSelfTest.java | 32 +
...dThroughReplicatedAtomicRestartSelfTest.java | 32 +
...cheReadThroughReplicatedRestartSelfTest.java | 32 +
.../cache/CacheReadThroughRestartSelfTest.java | 133 ++
.../cache/CacheStopAndDestroySelfTest.java | 859 +++++++++++++
...eUsageMultinodeDynamicStartAbstractTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 355 ++++--
.../cache/GridCacheAbstractSelfTest.java | 16 +-
.../cache/GridCacheAffinityRoutingSelfTest.java | 157 ++-
.../cache/GridCacheDaemonNodeStopSelfTest.java | 119 --
...ProjectionForCachesOnDaemonNodeSelfTest.java | 2 +-
.../IgniteCacheAbstractStopBusySelfTest.java | 2 +-
.../IgniteCacheConfigurationTemplateTest.java | 26 +-
.../cache/IgniteCacheDynamicStopSelfTest.java | 6 +-
.../cache/IgniteCacheNearLockValueSelfTest.java | 2 +
.../IgniteDaemonNodeMarshallerCacheTest.java | 192 +++
...eDynamicCacheStartNoExchangeTimeoutTest.java | 466 +++++++
.../cache/IgniteDynamicCacheStartSelfTest.java | 193 +--
.../IgniteDynamicClientCacheStartSelfTest.java | 5 +-
.../cache/IgniteInternalCacheTypesTest.java | 3 +-
.../IgniteTxExceptionAbstractSelfTest.java | 1 +
...GridCacheQueueMultiNodeAbstractSelfTest.java | 4 +-
.../GridCacheSetAbstractSelfTest.java | 22 +-
.../IgniteClientDataStructuresAbstractTest.java | 109 +-
.../IgniteCountDownLatchAbstractSelfTest.java | 12 +-
.../IgniteDataStructureWithJobTest.java | 111 ++
.../GridCacheAbstractNodeRestartSelfTest.java | 12 +-
...ridCachePartitionNotLoadedEventSelfTest.java | 82 ++
.../distributed/IgniteCache150ClientsTest.java | 190 +++
...teCacheClientNodePartitionsExchangeTest.java | 30 +-
.../IgniteCacheClientReconnectTest.java | 175 +++
.../distributed/IgniteCacheManyClientsTest.java | 2 +
.../IgniteCacheServerNodeConcurrentStart.java | 96 ++
.../IgniteCacheSystemTransactionsSelfTest.java | 2 +-
.../IgniteCacheTxMessageRecoveryTest.java | 5 +
.../IgniteCachePutRetryAbstractSelfTest.java | 161 +++
.../dht/IgniteCachePutRetryAtomicSelfTest.java | 34 +
...gniteCachePutRetryTransactionalSelfTest.java | 79 ++
...eAtomicInvalidPartitionHandlingSelfTest.java | 7 +-
...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 3 +
...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 10 +-
.../near/GridCacheNearTxMultiNodeSelfTest.java | 10 +-
.../GridCachePartitionedFailoverSelfTest.java | 5 +
...achePartitionedMultiNodeFullApiSelfTest.java | 103 +-
.../GridCachePartitionedNodeRestartTest.java | 5 -
...ePartitionedOptimisticTxNodeRestartTest.java | 2 +-
.../GridCacheReplicatedInvalidateSelfTest.java | 3 +-
.../GridCacheReplicatedNodeRestartSelfTest.java | 5 -
...acheAtomicReplicatedNodeRestartSelfTest.java | 4 +-
...heConcurrentEvictionConsistencySelfTest.java | 15 +-
.../GridCacheEvictionFilterSelfTest.java | 2 -
.../IgniteCacheTxStoreSessionTest.java | 4 +
...CacheLocalOffHeapAndSwapMetricsSelfTest.java | 2 +-
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...AtomicClientOnlyMultiJvmFullApiSelfTest.java | 31 +
...tOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...omicFairAffinityMultiJvmFullApiSelfTest.java | 31 +
.../GridCacheAtomicMultiJvmFullApiSelfTest.java | 30 +
...tomicMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...tomicNearEnabledMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...heAtomicNearOnlyMultiJvmFullApiSelfTest.java | 31 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...cheAtomicOffHeapMultiJvmFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...rderFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...OrderMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rityOrderOffHeapMultiJvmFullApiSelfTest.java | 31 +
...derOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...ridCacheNearOnlyMultiJvmFullApiSelfTest.java | 30 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...onedFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...CachePartitionedMultiJvmFullApiSelfTest.java | 30 +
...ionedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...onedNearDisabledMultiJvmFullApiSelfTest.java | 31 +
...abledMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rDisabledOffHeapMultiJvmFullApiSelfTest.java | 31 +
...ledOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...rtitionedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...nedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...ReplicatedAtomicMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...dCacheReplicatedMultiJvmFullApiSelfTest.java | 30 +
...catedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...plicatedNearOnlyMultiJvmFullApiSelfTest.java | 37 +
...eplicatedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...tedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
.../DataStreamerMultinodeCreateCacheTest.java | 14 +-
.../internal/util/IgniteUtilsSelfTest.java | 22 +
.../internal/util/nio/GridNioSelfTest.java | 88 +-
.../internal/util/nio/GridNioSslSelfTest.java | 16 +-
.../loadtests/hashmap/GridCacheTestContext.java | 2 +-
.../GridP2PContinuousDeploymentSelfTest.java | 2 -
.../tcp/TcpClientDiscoverySpiSelfTest.java | 827 +++++++++++-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 118 +-
...DiscoveryNodeConfigConsistentIdSelfTest.java | 76 ++
.../TcpDiscoveryNodeConsistentIdSelfTest.java | 80 ++
.../spi/failover/GridFailoverTestContext.java | 10 +
.../inmemory/GridTestSwapSpaceSpi.java | 3 +-
.../GridCommandLineTransformerSelfTest.java | 12 +-
.../testframework/junits/GridAbstractTest.java | 390 +++++-
.../junits/common/GridCommonAbstractTest.java | 50 +-
.../junits/multijvm/AffinityProcessProxy.java | 195 +++
.../multijvm/IgniteCacheProcessProxy.java | 602 +++++++++
.../multijvm/IgniteClusterProcessProxy.java | 325 +++++
.../multijvm/IgniteEventsProcessProxy.java | 148 +++
.../junits/multijvm/IgniteNodeRunner.java | 184 +++
.../junits/multijvm/IgniteProcessProxy.java | 571 +++++++++
.../ignite/testsuites/IgniteBasicTestSuite.java | 7 +-
.../IgniteCacheDataStructuresSelfTestSuite.java | 1 +
.../IgniteCacheFailoverTestSuite.java | 3 +
...IgniteCacheFullApiMultiJvmSelfTestSuite.java | 89 ++
.../ignite/testsuites/IgniteCacheTestSuite.java | 6 +-
.../testsuites/IgniteCacheTestSuite2.java | 2 +-
.../testsuites/IgniteCacheTestSuite3.java | 1 -
.../testsuites/IgniteCacheTestSuite4.java | 10 +-
.../testsuites/IgniteClientNodesTestSuite.java | 42 +
.../IgniteClientReconnectTestSuite.java | 48 +
.../testsuites/IgniteClientTestSuite.java | 38 +
.../testsuites/IgniteComputeGridTestSuite.java | 1 +
.../testsuites/IgniteKernalSelfTestSuite.java | 1 +
.../IgniteSpiDiscoverySelfTestSuite.java | 6 +
.../ignite/util/TestTcpCommunicationSpi.java | 21 +
modules/core/src/test/resources/helloworld.gar | Bin 6092 -> 0 bytes
modules/core/src/test/resources/helloworld1.gar | Bin 6092 -> 0 bytes
modules/core/src/test/resources/readme.txt | 6 -
modules/docker/Dockerfile | 55 +
modules/docker/README.txt | 11 +
modules/docker/build_users_libs.sh | 39 +
modules/docker/download_ignite.sh | 49 +
modules/docker/execute.sh | 62 +
modules/docker/run.sh | 34 +
modules/extdata/p2p/pom.xml | 4 +-
.../p2p/GridP2PContinuousDeploymentTask1.java | 2 +-
.../CacheConfigurationP2PTestClient.java | 4 +-
modules/extdata/uri/META-INF/ignite.xml | 38 +
.../extdata/uri/modules/uri-dependency/pom.xml | 40 +
.../deployment/uri/tasks/GarHelloWorldBean.java | 60 +
.../src/main/resources/gar-example.properties | 18 +
modules/extdata/uri/pom.xml | 50 +-
.../deployment/uri/tasks/GarHelloWorldTask.java | 81 ++
.../deployment/uri/tasks/gar-spring-bean.xml | 29 +
modules/gce/pom.xml | 2 +-
.../geospatial/licenses/jts-lgpl-license.txt | 165 ---
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 80 +-
.../fs/IgniteHadoopFileSystemCounterWriter.java | 9 +-
.../processors/hadoop/HadoopClassLoader.java | 29 +
.../processors/hadoop/HadoopDefaultJobInfo.java | 27 +-
.../internal/processors/hadoop/HadoopUtils.java | 237 ----
.../hadoop/SecondaryFileSystemProvider.java | 3 +-
.../hadoop/fs/HadoopFileSystemCacheUtils.java | 241 ++++
.../hadoop/fs/HadoopFileSystemsUtils.java | 11 +
.../hadoop/fs/HadoopLazyConcurrentMap.java | 5 +
.../hadoop/jobtracker/HadoopJobTracker.java | 25 +-
.../child/HadoopChildProcessRunner.java | 3 +-
.../processors/hadoop/v2/HadoopV2Job.java | 84 +-
.../hadoop/v2/HadoopV2JobResourceManager.java | 22 +-
.../hadoop/v2/HadoopV2TaskContext.java | 37 +-
.../apache/ignite/igfs/IgfsEventsTestSuite.java | 5 +-
.../processors/hadoop/HadoopMapReduceTest.java | 2 +-
.../processors/hadoop/HadoopTasksV1Test.java | 7 +-
.../processors/hadoop/HadoopTasksV2Test.java | 7 +-
.../processors/hadoop/HadoopV2JobSelfTest.java | 6 +-
.../collections/HadoopAbstractMapTest.java | 3 +-
.../testsuites/IgniteHadoopTestSuite.java | 4 +-
.../IgniteIgfsLinuxAndMacOSTestSuite.java | 3 +-
.../licenses/hibernate-lgpl-2.1-license.txt | 174 ---
modules/hibernate/pom.xml | 2 +-
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
modules/indexing/licenses/h2-epl-license.txt | 69 -
modules/indexing/pom.xml | 2 +-
.../processors/query/h2/IgniteH2Indexing.java | 5 +
.../query/h2/opt/GridH2KeyValueRowOffheap.java | 8 +-
.../processors/query/h2/opt/GridH2Table.java | 2 +-
.../query/h2/twostep/GridMergeIndex.java | 45 +-
.../h2/twostep/GridReduceQueryExecutor.java | 70 +-
.../CacheAbstractQueryMetricsSelfTest.java | 157 ++-
.../cache/CacheLocalQueryMetricsSelfTest.java | 33 +
...titionedQueryMetricsDistributedSelfTest.java | 33 +
...chePartitionedQueryMetricsLocalSelfTest.java | 33 +
.../CachePartitionedQueryMetricsSelfTest.java | 32 -
...plicatedQueryMetricsDistributedSelfTest.java | 33 +
...acheReplicatedQueryMetricsLocalSelfTest.java | 33 +
.../CacheReplicatedQueryMetricsSelfTest.java | 32 -
.../cache/IgniteCacheOffheapEvictQueryTest.java | 2 +-
.../IgniteCacheQueryMultiThreadedSelfTest.java | 4 +-
...ClientReconnectCacheQueriesFailoverTest.java | 225 ++++
.../cache/IgniteClientReconnectQueriesTest.java | 427 +++++++
.../IgniteCacheQueryNodeRestartSelfTest2.java | 5 +
...dCacheAbstractReduceFieldsQuerySelfTest.java | 4 +
.../IgniteCacheQuerySelfTestSuite.java | 9 +-
.../IgniteCacheWithIndexingTestSuite.java | 1 +
modules/jcl/pom.xml | 2 +-
modules/jta/licenses/jta-license.txt | 2 +
modules/jta/pom.xml | 2 +-
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 +-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 +-
.../GridTmLookupLifecycleAwareSelfTest.java | 29 +-
modules/kafka/licenses/apache-2.0.txt | 202 +++
modules/kafka/pom.xml | 105 ++
.../ignite/stream/kafka/KafkaStreamer.java | 220 ++++
.../kafka/IgniteKafkaStreamerSelfTestSuite.java | 37 +
.../stream/kafka/KafkaEmbeddedBroker.java | 378 ++++++
.../kafka/KafkaIgniteStreamerSelfTest.java | 227 ++++
.../ignite/stream/kafka/SimplePartitioner.java | 53 +
modules/log4j/pom.xml | 2 +-
modules/mesos/licenses/jetty-epl-license.txt | 69 -
modules/mesos/pom.xml | 4 +-
.../apache/ignite/mesos/ClusterProperties.java | 14 +
.../apache/ignite/mesos/IgniteScheduler.java | 26 +-
modules/rest-http/pom.xml | 20 +-
.../scalar-2.10/licenses/scala-bsd-license.txt | 18 -
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/licenses/scala-bsd-license.txt | 18 -
modules/scalar/pom.xml | 2 +-
.../licenses/cron4j-lgpl-2.1-license.txt | 174 ---
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
.../ignite/schema/model/PojoDescriptor.java | 2 +
.../apache/ignite/schema/model/PojoField.java | 1 +
.../parser/dialect/OracleMetadataDialect.java | 2 +-
.../ignite/schema/ui/SchemaImportApp.java | 36 +-
modules/slf4j/licenses/sl4j-mit-license.txt | 21 -
modules/slf4j/pom.xml | 2 +-
.../spark-2.10/licenses/scala-bsd-license.txt | 18 -
modules/spark-2.10/pom.xml | 2 +-
modules/spark/licenses/scala-bsd-license.txt | 18 -
modules/spark/pom.xml | 2 +-
.../org/apache/ignite/spark/IgniteContext.scala | 50 +-
.../org/apache/ignite/spark/IgniteRddSpec.scala | 18 +
modules/spring/pom.xml | 2 +-
.../apache/ignite/cache/spring/SpringCache.java | 2 +-
.../ignite/cache/spring/SpringCacheManager.java | 22 +-
.../util/spring/IgniteSpringHelperImpl.java | 72 +-
.../IgniteExcludeInConfigurationTest.java | 81 ++
.../org/apache/ignite/spring/sprint-exclude.xml | 76 ++
.../testsuites/IgniteSpringTestSuite.java | 2 +
modules/ssh/licenses/jcraft-revised-bsd.txt | 28 -
modules/ssh/pom.xml | 2 +-
modules/tools/licenses/jodd-revised-bsd.txt | 21 -
modules/tools/pom.xml | 2 +-
.../urideploy/licenses/jtidy-mit-license.txt | 50 -
modules/urideploy/pom.xml | 16 +-
.../GridTaskUriDeploymentDeadlockSelfTest.java | 13 +-
.../ignite/p2p/GridP2PDisabledSelfTest.java | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
.../licenses/jline-bsd-license.txt | 18 -
.../licenses/scala-bsd-license.txt | 18 -
modules/visor-console/pom.xml | 2 +-
.../ignite/visor/commands/VisorConsole.scala | 3 +-
.../commands/cache/VisorCacheCommand.scala | 9 +-
.../visor/commands/open/VisorOpenCommand.scala | 319 +++++
.../scala/org/apache/ignite/visor/visor.scala | 230 +---
.../ignite/visor/VisorRuntimeBaseSpec.scala | 2 +
.../commands/kill/VisorKillCommandSpec.scala | 1 +
.../commands/start/VisorStartCommandSpec.scala | 1 +
.../commands/tasks/VisorTasksCommandSpec.scala | 1 +
.../commands/vvm/VisorVvmCommandSpec.scala | 1 +
.../licenses/slf4j-mit-license.txt | 21 -
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 12 +-
.../IgniteWebSessionSelfTestSuite.java | 2 +-
.../config/benchmark-put-indexed-val.properties | 64 +
modules/yardstick/config/ignite-base-config.xml | 23 +
modules/yardstick/pom.xml | 2 +-
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 +
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 +
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 +
.../ignite/yardstick/cache/model/Person1.java | 55 +
.../ignite/yardstick/cache/model/Person2.java | 67 +
.../ignite/yardstick/cache/model/Person8.java | 109 ++
modules/yarn/README.txt | 28 +
modules/yarn/licenses/apache-2.0.txt | 202 +++
modules/yarn/pom.xml | 101 ++
.../apache/ignite/yarn/ApplicationMaster.java | 400 ++++++
.../apache/ignite/yarn/ClusterProperties.java | 432 +++++++
.../org/apache/ignite/yarn/IgniteContainer.java | 84 ++
.../org/apache/ignite/yarn/IgniteProvider.java | 339 +++++
.../apache/ignite/yarn/IgniteYarnClient.java | 178 +++
.../org/apache/ignite/yarn/package-info.java | 22 +
.../ignite/yarn/utils/IgniteYarnUtils.java | 81 ++
.../main/resources/ignite-default-config.xml | 35 +
.../org/apache/ignite/IgniteYarnTestSuite.java | 38 +
.../yarn/IgniteApplicationMasterSelfTest.java | 532 ++++++++
parent/pom.xml | 96 ++
pom.xml | 20 +-
scripts/git-patch-prop.sh | 2 +-
570 files changed, 30494 insertions(+), 5676 deletions(-)
----------------------------------------------------------------------