You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/03/02 10:44:22 UTC

[01/20] incubator-ignite git commit: IGNITE-11 (Discovery takes a lot of time on Windows if DescoverySpi contains several hosts and several ports per host)

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-339 5d3a2be2b -> c847e8851


IGNITE-11 (Discovery takes a lot of time on Windows if DescoverySpi contains several hosts and several ports per host)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a9ecd99f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a9ecd99f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a9ecd99f

Branch: refs/heads/ignite-339
Commit: a9ecd99f1b0713890c16e42cd53c264167959e0f
Parents: c93d86f
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 19 16:30:41 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 19 16:30:41 2015 +0300

----------------------------------------------------------------------
 .../spi/discovery/tcp/TcpDiscoverySpi.java      | 138 +++++++++++--------
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 110 +++++++++++++++
 2 files changed, 193 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9ecd99f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index aef8259..3e9c120 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -1395,65 +1395,83 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
                 return false;
 
             boolean retry = false;
-            IgniteCheckedException errs = null;
+            Collection<Exception> errs = new ArrayList<>();
 
-            for (InetSocketAddress addr : addrs) {
-                try {
-                    Integer res = sendMessageDirectly(joinReq, addr);
+            SocketMultiConnector multiConnector = new SocketMultiConnector(addrs, 2);
 
-                    assert res != null;
+            try {
+                GridTuple3<InetSocketAddress, Socket, Exception> tuple;
 
-                    noResAddrs.remove(addr);
+                while ((tuple = multiConnector.next()) != null) {
+                    InetSocketAddress addr = tuple.get1();
+                    Socket sock = tuple.get2();
+                    Exception ex = tuple.get3();
 
-                    // Address is responsive, reset period start.
-                    noResStart = 0;
+                    if (ex == null) {
+                        assert sock != null;
 
-                    switch (res) {
-                        case RES_WAIT:
-                            // Concurrent startup, try sending join request again or wait if no success.
-                            retry = true;
+                        try {
+                            Integer res = sendMessageDirectly(joinReq, addr, sock);
 
-                            break;
-                        case RES_OK:
-                            if (log.isDebugEnabled())
-                                log.debug("Join request message has been sent to address [addr=" + addr +
-                                    ", req=" + joinReq + ']');
+                            assert res != null;
 
-                            // Join request sending succeeded, wait for response from topology.
-                            return true;
+                            noResAddrs.remove(addr);
 
-                        default:
-                            // Concurrent startup, try next node.
-                            if (res == RES_CONTINUE_JOIN) {
-                                if (!fromAddrs.contains(addr))
+                            // Address is responsive, reset period start.
+                            noResStart = 0;
+
+                            switch (res) {
+                                case RES_WAIT:
+                                    // Concurrent startup, try sending join request again or wait if no success.
                                     retry = true;
-                            }
-                            else {
-                                if (log.isDebugEnabled())
-                                    log.debug("Unexpected response to join request: " + res);
 
-                                retry = true;
-                            }
+                                    break;
+                                case RES_OK:
+                                    if (log.isDebugEnabled())
+                                        log.debug("Join request message has been sent to address [addr=" + addr +
+                                            ", req=" + joinReq + ']');
 
-                            break;
-                    }
-                }
-                catch (IgniteSpiException e) {
-                    if (errs == null)
-                        errs = new IgniteCheckedException("Multiple connection attempts failed.");
+                                    // Join request sending succeeded, wait for response from topology.
+                                    return true;
 
-                    errs.addSuppressed(e);
+                                default:
+                                    // Concurrent startup, try next node.
+                                    if (res == RES_CONTINUE_JOIN) {
+                                        if (!fromAddrs.contains(addr))
+                                            retry = true;
+                                    }
+                                    else {
+                                        if (log.isDebugEnabled())
+                                            log.debug("Unexpected response to join request: " + res);
 
-                    if (log.isDebugEnabled()) {
-                        IOException ioe = X.cause(e, IOException.class);
+                                        retry = true;
+                                    }
 
-                        log.debug("Failed to send join request message [addr=" + addr +
-                            ", msg=" + ioe != null ? ioe.getMessage() : e.getMessage() + ']');
+                                    break;
+                            }
+                        }
+                        catch (IgniteSpiException e) {
+                            ex = e;
+                        }
                     }
 
-                    noResAddrs.add(addr);
+                    if (ex != null) {
+                        errs.add(ex);
+
+                        if (log.isDebugEnabled()) {
+                            IOException ioe = X.cause(ex, IOException.class);
+
+                            log.debug("Failed to send join request message [addr=" + addr +
+                                ", msg=" + ioe != null ? ioe.getMessage() : ex.getMessage() + ']');
+                        }
+
+                        noResAddrs.add(addr);
+                    }
                 }
             }
+            finally {
+                multiConnector.close();
+            }
 
             if (retry) {
                 if (log.isDebugEnabled())
@@ -1467,7 +1485,16 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
                 }
             }
             else if (!ipFinder.isShared() && !ipFinderHasLocAddr) {
-                if (errs != null && X.hasCause(errs, ConnectException.class))
+                IgniteCheckedException e = null;
+
+                if (!errs.isEmpty()) {
+                    e = new IgniteCheckedException("Multiple connection attempts failed.");
+
+                    for (Exception err : errs)
+                        e.addSuppressed(err);
+                }
+
+                if (e != null && X.hasCause(e, ConnectException.class))
                     LT.warn(log, null, "Failed to connect to any address from IP finder " +
                         "(make sure IP finder addresses are correct and firewalls are disabled on all host machines): " +
                         addrs);
@@ -1480,14 +1507,14 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
                             "Failed to connect to any address from IP finder within join timeout " +
                                 "(make sure IP finder addresses are correct, and operating system firewalls are disabled " +
                                 "on all host machines, or consider increasing 'joinTimeout' configuration property): " +
-                                addrs, errs);
+                                addrs, e);
                 }
 
                 try {
                     U.sleep(2000);
                 }
-                catch (IgniteInterruptedCheckedException e) {
-                    throw new IgniteSpiException("Thread has been interrupted.", e);
+                catch (IgniteInterruptedCheckedException ex) {
+                    throw new IgniteSpiException("Thread has been interrupted.", ex);
                 }
             }
             else
@@ -1503,17 +1530,15 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
      * @param msg Message to send.
      * @param addr Address to send message to.
      * @return Response read from the recipient or {@code null} if no response is supposed.
-     * @throws org.apache.ignite.spi.IgniteSpiException If an error occurs.
+     * @throws IgniteSpiException If an error occurs.
      */
-    @Nullable private Integer sendMessageDirectly(TcpDiscoveryAbstractMessage msg, InetSocketAddress addr)
+    @Nullable private Integer sendMessageDirectly(TcpDiscoveryAbstractMessage msg, InetSocketAddress addr, Socket sock)
         throws IgniteSpiException {
         assert msg != null;
         assert addr != null;
 
         Collection<Throwable> errs = null;
 
-        Socket sock = null;
-
         long ackTimeout0 = ackTimeout;
 
         int connectAttempts = 1;
@@ -1532,7 +1557,8 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
             try {
                 long tstamp = U.currentTimeMillis();
 
-                sock = openSocket(addr);
+                if (sock == null)
+                    sock = openSocket(addr);
 
                 openSock = true;
 
@@ -1612,6 +1638,8 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
             }
             finally {
                 U.closeQuiet(sock);
+
+                sock = null;
             }
         }
 
@@ -1634,7 +1662,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
      * Marshalls credentials with discovery SPI marshaller (will replace attribute value).
      *
      * @param node Node to marshall credentials for.
-     * @throws org.apache.ignite.spi.IgniteSpiException If marshalling failed.
+     * @throws IgniteSpiException If marshalling failed.
      */
     private void marshalCredentials(TcpDiscoveryNode node) throws IgniteSpiException {
         try {
@@ -1656,7 +1684,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
      *
      * @param node Node to unmarshall credentials for.
      * @return Security credentials.
-     * @throws org.apache.ignite.spi.IgniteSpiException If unmarshal fails.
+     * @throws IgniteSpiException If unmarshal fails.
      */
     private GridSecurityCredentials unmarshalCredentials(TcpDiscoveryNode node) throws IgniteSpiException {
         try {
@@ -3337,7 +3365,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
          *
          * @param node Node to send message to.
          * @param msg Message.
-         * @throws org.apache.ignite.spi.IgniteSpiException Last failure if all attempts failed.
+         * @throws IgniteSpiException Last failure if all attempts failed.
          */
         private void trySendMessageDirectly(TcpDiscoveryNode node, TcpDiscoveryAbstractMessage msg)
             throws IgniteSpiException {
@@ -3358,7 +3386,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
 
             for (InetSocketAddress addr : getNodeAddresses(node, U.sameMacs(locNode, node))) {
                 try {
-                    sendMessageDirectly(msg, addr);
+                    sendMessageDirectly(msg, addr, null);
 
                     ex = null;
 
@@ -4385,7 +4413,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
         /**
          * Constructor.
          *
-         * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
+         * @throws IgniteSpiException In case of error.
          */
         TcpServer() throws IgniteSpiException {
             super(ignite.name(), "tcp-disco-srvr", log);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a9ecd99f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index 52156a4..87ee2fe 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -22,6 +22,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.io.*;
+import org.apache.ignite.internal.util.lang.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
@@ -1005,4 +1006,113 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
             TcpDiscoverySpiAdapter.this.writeToSocket(sock, msg, bout);
         }
     }
+
+    /**
+     *
+     */
+    protected class SocketMultiConnector {
+        /** */
+        private int connInProgress;
+
+        /** */
+        private boolean closed;
+
+        /** */
+        private final ExecutorService executor;
+
+        /** */
+        private final Queue<GridTuple3<InetSocketAddress, Socket, Exception>> queue = new LinkedList<>();
+
+        /**
+         * @param addrs Addresses.
+         * @param retryCnt Retry count.
+         */
+        public SocketMultiConnector(Collection<InetSocketAddress> addrs, final int retryCnt) {
+            connInProgress = addrs.size();
+
+            executor = new ThreadPoolExecutor(0, 10, 1L, TimeUnit.MILLISECONDS,
+                new SynchronousQueue<Runnable>());
+
+            for (final InetSocketAddress addr : addrs) {
+                executor.execute(new Runnable() {
+                    @Override public void run() {
+                        Exception ex = null;
+                        Socket sock = null;
+
+                        for (int i = 0; i < retryCnt; i++) {
+                            synchronized (SocketMultiConnector.this) {
+                                if (closed)
+                                    return;
+                            }
+
+                            try {
+                                sock = openSocket(addr);
+
+                                break;
+                            }
+                            catch (Exception e) {
+                                ex = e;
+                            }
+                        }
+
+                        synchronized (SocketMultiConnector.this) {
+                            if (closed)
+                                U.closeQuiet(sock);
+                            else
+                                queue.add(new GridTuple3<>(addr, sock, ex));
+
+                            connInProgress--;
+
+                            SocketMultiConnector.this.notifyAll();
+                        }
+                    }
+                });
+            }
+        }
+
+        /**
+         *
+         */
+        @Nullable public synchronized GridTuple3<InetSocketAddress, Socket, Exception> next() {
+            try {
+                do {
+                    if (closed)
+                        return null;
+
+                    GridTuple3<InetSocketAddress, Socket, Exception> res = queue.poll();
+
+                    if (res != null)
+                        return res;
+
+                    if (connInProgress == 0)
+                        return null;
+
+                    wait();
+                }
+                while (true);
+            }
+            catch (InterruptedException e) {
+                throw new IgniteSpiException("Thread has been interrupted.", e);
+            }
+        }
+
+        /**
+         *
+         */
+        public void close() {
+            synchronized (this) {
+                if (closed)
+                    return;
+
+                closed = true;
+
+                notifyAll();
+            }
+
+            executor.shutdown();
+
+            for (GridTuple3<InetSocketAddress, Socket, Exception> tuple : queue)
+                U.closeQuiet(tuple.get2());
+        }
+    }
 }


[18/20] incubator-ignite git commit: Merge branches 'ignite-377' and 'sprint-2' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into sprint-2

Posted by ak...@apache.org.
Merge branches 'ignite-377' and 'sprint-2' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into sprint-2


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/13e2d1f6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/13e2d1f6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/13e2d1f6

Branch: refs/heads/ignite-339
Commit: 13e2d1f678cea51f18b7c5ae2ec48157eccbf4c3
Parents: c9f46c1 061ea8a
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Mar 2 15:55:59 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Mar 2 15:55:59 2015 +0700

----------------------------------------------------------------------
 .../core/src/test/config/store/jdbc/Ignite.xml  |  63 ++++++---
 .../ignite/schema/generator/XmlGenerator.java   |   8 +-
 .../apache/ignite/schema/model/PojoField.java   |  11 +-
 .../apache/ignite/schema/load/model/Ignite.xml  | 133 ++++++++++++++-----
 .../yardstick/config/ignite-store-config.xml    |  15 ++-
 5 files changed, 168 insertions(+), 62 deletions(-)
----------------------------------------------------------------------



[09/20] incubator-ignite git commit: # ignite-11 Fix issues found on review.

Posted by ak...@apache.org.
# ignite-11 Fix issues found on review.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6130f7e5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6130f7e5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6130f7e5

Branch: refs/heads/ignite-339
Commit: 6130f7e52214ab0b0d0876d8be0c141e9dc1a2df
Parents: 2999d20
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 26 18:11:50 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 26 18:11:50 2015 +0300

----------------------------------------------------------------------
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  7 +---
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 42 +++++++++++++-------
 2 files changed, 29 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6130f7e5/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 3fc52b1..df39d6b 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -1401,9 +1401,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
             boolean retry = false;
             Collection<Exception> errs = new ArrayList<>();
 
-            SocketMultiConnector multiConnector = new SocketMultiConnector(addrs, 2);
-
-            try {
+            try (SocketMultiConnector multiConnector = new SocketMultiConnector(addrs, 2)) {
                 GridTuple3<InetSocketAddress, Socket, Exception> tuple;
 
                 while ((tuple = multiConnector.next()) != null) {
@@ -1476,9 +1474,6 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
                     }
                 }
             }
-            finally {
-                multiConnector.close();
-            }
 
             if (retry) {
                 if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6130f7e5/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index 80b793a..1d9559e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -1013,7 +1013,7 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
     /**
      *
      */
-    protected class SocketMultiConnector {
+    protected class SocketMultiConnector implements AutoCloseable {
         /** */
         private int connInProgress;
 
@@ -1068,11 +1068,15 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
                 return null;
 
             try {
+                Future<GridTuple3<InetSocketAddress, Socket, Exception>> fut = completionSrvc.take();
+
                 connInProgress--;
 
-                return completionSrvc.take().get();
+                return fut.get();
             }
             catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
+
                 throw new IgniteSpiException("Thread has been interrupted.", e);
             }
             catch (ExecutionException e) {
@@ -1080,33 +1084,43 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
             }
         }
 
-        /**
-         *
-         */
-        public void close() {
-            executor.shutdown();
+        /** {@inheritDoc} */
+        @Override public void close() {
+            List<Runnable> unstartedTasks = executor.shutdownNow();
+
+            connInProgress -= unstartedTasks.size();
 
             if (connInProgress > 0) {
-                new Thread(new Runnable() {
+                Thread thread = new Thread(new Runnable() {
                     @Override public void run() {
                         try {
-                            for (int i = 0; i < connInProgress; i++) {
+                            executor.awaitTermination(5, TimeUnit.MINUTES);
+
+                            Future<GridTuple3<InetSocketAddress, Socket, Exception>> fut;
+
+                            while ((fut = completionSrvc.poll()) != null) {
                                 try {
-                                    GridTuple3<InetSocketAddress, Socket, Exception> take = completionSrvc.take().get();
+                                    GridTuple3<InetSocketAddress, Socket, Exception> tuple3 = fut.get();
 
-                                    if (take != null)
-                                        IgniteUtils.closeQuiet(take.get2());
+                                    if (tuple3 != null)
+                                        IgniteUtils.closeQuiet(tuple3.get2());
                                 }
-                                catch (ExecutionException ignored) {
+                                catch (ExecutionException ignore) {
 
                                 }
                             }
                         }
                         catch (InterruptedException e) {
+                            Thread.currentThread().interrupt();
+
                             throw new RuntimeException(e);
                         }
                     }
-                }).start();
+                });
+
+                thread.setDaemon(true);
+
+                thread.start();
             }
         }
     }


[16/20] incubator-ignite git commit: # sprint-2 - javadoc fixes.

Posted by ak...@apache.org.
# sprint-2 - javadoc fixes.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/036bd715
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/036bd715
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/036bd715

Branch: refs/heads/ignite-339
Commit: 036bd71537630b082b747f518172da6ebfe11105
Parents: 3a77acf
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Sat Feb 28 19:05:42 2015 -0800
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Sat Feb 28 19:05:42 2015 -0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/cache/store/CacheStore.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/036bd715/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStore.java
index 848df39..eefcfb3 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStore.java
@@ -119,7 +119,7 @@ public interface CacheStore<K, V> extends CacheLoader<K, V>, CacheWriter<K, V> {
     /**
      * Loads all values from underlying persistent storage. Note that keys are not
      * passed, so it is up to implementation to figure out what to load. This method
-     * is called whenever {@link org.apache.ignite.cache.GridCache#loadCache(org.apache.ignite.lang.IgniteBiPredicate, long, Object...)}
+     * is called whenever {@link org.apache.ignite.IgniteCache#loadCache(IgniteBiPredicate, Object...)}
      * method is invoked which is usually to preload the cache from persistent storage.
      * <p>
      * This method is optional, and cache implementation does not depend on this
@@ -132,7 +132,7 @@ public interface CacheStore<K, V> extends CacheLoader<K, V>, CacheWriter<K, V> {
      *
      * @param clo Closure for loaded values.
      * @param args Arguments passes into
-     *      {@link org.apache.ignite.cache.GridCache#loadCache(org.apache.ignite.lang.IgniteBiPredicate, long, Object...)} method.
+     *      {@link org.apache.ignite.IgniteCache#loadCache(IgniteBiPredicate, Object...)} method.
      * @throws CacheLoaderException If loading failed.
      */
     public void loadCache(IgniteBiInClosure<K, V> clo, @Nullable Object... args) throws CacheLoaderException;


[07/20] incubator-ignite git commit: ignite-11 use ExecutorCompletionService.

Posted by ak...@apache.org.
ignite-11 use ExecutorCompletionService.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8b9e7f8f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8b9e7f8f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8b9e7f8f

Branch: refs/heads/ignite-339
Commit: 8b9e7f8f5ae205da389411f5aa763d329e3ea6bd
Parents: de75adb
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 26 17:23:52 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 26 17:23:52 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/util/IgniteUtils.java       |  1 +
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 85 +++++++++-----------
 2 files changed, 40 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b9e7f8f/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index a8b6991..b24743a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -298,6 +298,7 @@ public abstract class IgniteUtils {
     private static final Map<Class<? extends IgniteCheckedException>, C1<IgniteCheckedException, IgniteException>>
         exceptionConverters;
 
+    /** */
     private volatile static IgniteBiTuple<Collection<String>, Collection<String>> cachedLocalAddr;
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b9e7f8f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index 322b954..80b793a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -1018,13 +1018,10 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
         private int connInProgress;
 
         /** */
-        private boolean closed;
-
-        /** */
         private final ExecutorService executor;
 
         /** */
-        private final Queue<GridTuple3<InetSocketAddress, Socket, Exception>> queue = new LinkedList<>();
+        private final CompletionService<GridTuple3<InetSocketAddress, Socket, Exception>> completionSrvc;
 
         /**
          * @param addrs Addresses.
@@ -1033,19 +1030,19 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
         public SocketMultiConnector(Collection<InetSocketAddress> addrs, final int retryCnt) {
             connInProgress = addrs.size();
 
-            executor = Executors.newFixedThreadPool(Math.min(10, addrs.size()));
+            executor = Executors.newFixedThreadPool(Math.min(1, addrs.size()));
+
+            completionSrvc = new ExecutorCompletionService<>(executor);
 
             for (final InetSocketAddress addr : addrs) {
-                executor.execute(new Runnable() {
-                    @Override public void run() {
+                completionSrvc.submit(new Callable<GridTuple3<InetSocketAddress, Socket, Exception>>() {
+                    @Override public GridTuple3<InetSocketAddress, Socket, Exception> call() {
                         Exception ex = null;
                         Socket sock = null;
 
                         for (int i = 0; i < retryCnt; i++) {
-                            synchronized (SocketMultiConnector.this) {
-                                if (closed)
-                                    return;
-                            }
+                            if (Thread.currentThread().isInterrupted())
+                                return null; // Executor is shutdown.
 
                             try {
                                 sock = openSocket(addr);
@@ -1057,16 +1054,7 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
                             }
                         }
 
-                        synchronized (SocketMultiConnector.this) {
-                            if (closed)
-                                U.closeQuiet(sock);
-                            else
-                                queue.add(new GridTuple3<>(addr, sock, ex));
-
-                            connInProgress--;
-
-                            SocketMultiConnector.this.notifyAll();
-                        }
+                        return new GridTuple3<>(addr, sock, ex);
                     }
                 });
             }
@@ -1075,46 +1063,51 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
         /**
          *
          */
-        @Nullable public synchronized GridTuple3<InetSocketAddress, Socket, Exception> next() {
-            try {
-                do {
-                    if (closed)
-                        return null;
+        @Nullable public GridTuple3<InetSocketAddress, Socket, Exception> next() {
+            if (connInProgress == 0)
+                return null;
 
-                    GridTuple3<InetSocketAddress, Socket, Exception> res = queue.poll();
-
-                    if (res != null)
-                        return res;
-
-                    if (connInProgress == 0)
-                        return null;
+            try {
+                connInProgress--;
 
-                    wait();
-                }
-                while (true);
+                return completionSrvc.take().get();
             }
             catch (InterruptedException e) {
                 throw new IgniteSpiException("Thread has been interrupted.", e);
             }
+            catch (ExecutionException e) {
+                throw new IgniteSpiException(e);
+            }
         }
 
         /**
          *
          */
         public void close() {
-            synchronized (this) {
-                if (closed)
-                    return;
-
-                closed = true;
+            executor.shutdown();
 
-                notifyAll();
-            }
+            if (connInProgress > 0) {
+                new Thread(new Runnable() {
+                    @Override public void run() {
+                        try {
+                            for (int i = 0; i < connInProgress; i++) {
+                                try {
+                                    GridTuple3<InetSocketAddress, Socket, Exception> take = completionSrvc.take().get();
 
-            executor.shutdown();
+                                    if (take != null)
+                                        IgniteUtils.closeQuiet(take.get2());
+                                }
+                                catch (ExecutionException ignored) {
 
-            for (GridTuple3<InetSocketAddress, Socket, Exception> tuple : queue)
-                U.closeQuiet(tuple.get2());
+                                }
+                            }
+                        }
+                        catch (InterruptedException e) {
+                            throw new RuntimeException(e);
+                        }
+                    }
+                }).start();
+            }
         }
     }
 }


[14/20] incubator-ignite git commit: sprint-2 - Added isWithinTransaction() method to session.

Posted by ak...@apache.org.
sprint-2 - Added isWithinTransaction() method to session.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/16105ec9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/16105ec9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/16105ec9

Branch: refs/heads/ignite-339
Commit: 16105ec9687732d0b01cfeaee9a5b1c227b0921f
Parents: 6097e7b
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Sat Feb 28 09:44:30 2015 -0800
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Sat Feb 28 09:44:30 2015 -0800

----------------------------------------------------------------------
 .../store/jdbc/CacheJdbcPersonStore.java        | 110 +++++++------------
 .../ignite/cache/store/CacheStoreSession.java   |   9 ++
 .../processors/cache/GridCacheStoreManager.java |   6 +-
 .../junits/cache/TestCacheSession.java          |   5 +
 .../cache/TestThreadLocalCacheSession.java      |   5 +
 5 files changed, 62 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/16105ec9/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
index d80861d..0473280 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
@@ -22,7 +22,6 @@ import org.apache.ignite.cache.store.*;
 import org.apache.ignite.examples.datagrid.store.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 import javax.cache.*;
@@ -72,8 +71,6 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
 
     /** {@inheritDoc} */
     @Override public void txEnd(boolean commit) {
-        Transaction tx = transaction();
-
         Map<String, Connection> props = ses.properties();
 
         try (Connection conn = props.remove(ATTR_NAME)) {
@@ -84,23 +81,21 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
                     conn.rollback();
             }
 
-            System.out.println(">>> Transaction ended [xid=" + tx.xid() + ", commit=" + commit + ']');
+            System.out.println(">>> Transaction ended [commit=" + commit + ']');
         }
         catch (SQLException e) {
-            throw new CacheWriterException("Failed to end transaction [xid=" + tx.xid() + ", commit=" + commit + ']', e);
+            throw new CacheWriterException("Failed to end transaction: " + ses.transaction(), e);
         }
     }
 
     /** {@inheritDoc} */
     @Override public Person load(Long key) {
-        Transaction tx = transaction();
-
-        System.out.println(">>> Store load [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
+        System.out.println(">>> Loading key: " + key);
 
         Connection conn = null;
 
         try {
-            conn = connection(tx);
+            conn = connection();
 
             try (PreparedStatement st = conn.prepareStatement("select * from PERSONS where id=?")) {
                 st.setString(1, key.toString());
@@ -108,14 +103,14 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
                 ResultSet rs = st.executeQuery();
 
                 if (rs.next())
-                    return person(rs.getLong(1), rs.getString(2), rs.getString(3));
+                    return new Person(rs.getLong(1), rs.getString(2), rs.getString(3));
             }
         }
         catch (SQLException e) {
             throw new CacheLoaderException("Failed to load object: " + key, e);
         }
         finally {
-            end(tx, conn);
+            end(conn);
         }
 
         return null;
@@ -123,60 +118,57 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
 
     /** {@inheritDoc} */
     @Override public void write(Cache.Entry<? extends Long, ? extends Person> entry) {
-        Transaction tx = transaction();
-
         Long key = entry.getKey();
 
         Person val = entry.getValue();
 
-        System.out.println(">>> Store put [key=" + key + ", val=" + val + ", xid=" + (tx == null ? null : tx.xid()) + ']');
+        System.out.println(">>> Putting [key=" + key + ", val=" + val +  ']');
 
         Connection conn = null;
 
         try {
-            conn = connection(tx);
+            conn = connection();
 
-        int updated;
+            int updated;
 
-        try (PreparedStatement st = conn.prepareStatement(
-            "update PERSONS set firstName=?, lastName=? where id=?")) {
-            st.setString(1, val.getFirstName());
-            st.setString(2, val.getLastName());
-            st.setLong(3, val.getId());
+            // Try update first.
+            try (PreparedStatement st = conn.prepareStatement(
+                "update PERSONS set firstName=?, lastName=? where id=?")) {
+                st.setString(1, val.getFirstName());
+                st.setString(2, val.getLastName());
+                st.setLong(3, val.getId());
 
-            updated = st.executeUpdate();
-        }
+                updated = st.executeUpdate();
+            }
 
-        // If update failed, try to insert.
-        if (updated == 0) {
-            try (PreparedStatement st = conn.prepareStatement(
-                "insert into PERSONS (id, firstName, lastName) values(?, ?, ?)")) {
-                st.setLong(1, val.getId());
-                st.setString(2, val.getFirstName());
-                st.setString(3, val.getLastName());
+            // If update failed, try to insert.
+            if (updated == 0) {
+                try (PreparedStatement st = conn.prepareStatement(
+                    "insert into PERSONS (id, firstName, lastName) values(?, ?, ?)")) {
+                    st.setLong(1, val.getId());
+                    st.setString(2, val.getFirstName());
+                    st.setString(3, val.getLastName());
 
-                st.executeUpdate();
+                    st.executeUpdate();
+                }
             }
         }
-        }
         catch (SQLException e) {
             throw new CacheLoaderException("Failed to put object [key=" + key + ", val=" + val + ']', e);
         }
         finally {
-            end(tx, conn);
+            end(conn);
         }
     }
 
     /** {@inheritDoc} */
     @Override public void delete(Object key) {
-        Transaction tx = transaction();
-
-        System.out.println(">>> Store remove [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
+        System.out.println(">>> Removing key: " + key);
 
         Connection conn = null;
 
         try {
-            conn = connection(tx);
+            conn = connection();
 
             try (PreparedStatement st = conn.prepareStatement("delete from PERSONS where id=?")) {
                 st.setLong(1, (Long)key);
@@ -188,7 +180,7 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
             throw new CacheWriterException("Failed to remove object: " + key, e);
         }
         finally {
-            end(tx, conn);
+            end(conn);
         }
     }
 
@@ -199,17 +191,13 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
 
         final int entryCnt = (Integer)args[0];
 
-        Connection conn = null;
-
-        try {
-            conn = connection(null);
-
+        try (Connection conn = connection()) {
             try (PreparedStatement st = conn.prepareStatement("select * from PERSONS")) {
                 try (ResultSet rs = st.executeQuery()) {
                     int cnt = 0;
 
                     while (cnt < entryCnt && rs.next()) {
-                        Person person = person(rs.getLong(1), rs.getString(2), rs.getString(3));
+                        Person person = new Person(rs.getLong(1), rs.getString(2), rs.getString(3));
 
                         clo.apply(person.getId(), person);
 
@@ -223,18 +211,16 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
         catch (SQLException e) {
             throw new CacheLoaderException("Failed to load values from cache store.", e);
         }
-        finally {
-            end(null, conn);
-        }
     }
 
     /**
-     * @param tx Cache transaction.
      * @return Connection.
      * @throws SQLException In case of error.
      */
-    private Connection connection(@Nullable Transaction tx) throws SQLException  {
-        if (tx != null) {
+    private Connection connection() throws SQLException  {
+        // If there is an ongoing transaction,
+        // we must reuse the same connection.
+        if (ses.isWithinTransaction()) {
             Map<Object, Object> props = ses.properties();
 
             Connection conn = (Connection)props.get(ATTR_NAME);
@@ -257,11 +243,10 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
     /**
      * Closes allocated resources depending on transaction status.
      *
-     * @param tx Active transaction, if any.
      * @param conn Allocated connection.
      */
-    private void end(@Nullable Transaction tx, @Nullable Connection conn) {
-        if (tx == null && conn != null) {
+    private void end(@Nullable Connection conn) {
+        if (!ses.isWithinTransaction() && conn != null) {
             // Close connection right away if there is no transaction.
             try {
                 conn.close();
@@ -286,23 +271,4 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
 
         return conn;
     }
-
-    /**
-     * Builds person object out of provided values.
-     *
-     * @param id ID.
-     * @param firstName First name.
-     * @param lastName Last name.
-     * @return Person.
-     */
-    private Person person(Long id, String firstName, String lastName) {
-        return new Person(id, firstName, lastName);
-    }
-
-    /**
-     * @return Current transaction.
-     */
-    private Transaction transaction() {
-        return ses != null ? ses.transaction() : null;
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/16105ec9/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
index a2be4c5..38fe95c 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
@@ -43,6 +43,15 @@ public interface CacheStoreSession {
     public Transaction transaction();
 
     /**
+     * Returns {@code true} if performing store operation within a transaction,
+     * {@code false} otherwise. Analogous to calling {@code transaction() != null}.
+     *
+     * @return {@code True} if performing store operation within a transaction,
+     * {@code false} otherwise.
+     */
+    public boolean isWithinTransaction();
+
+    /**
      * Gets current session properties. You can add properties directly to the
      * returned map.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/16105ec9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
index fac6ea3..9262a8f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
@@ -36,7 +36,6 @@ import org.jetbrains.annotations.*;
 
 import javax.cache.*;
 import javax.cache.integration.*;
-import java.lang.reflect.*;
 import java.util.*;
 
 /**
@@ -913,6 +912,11 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
         }
 
         /** {@inheritDoc} */
+        @Override public boolean isWithinTransaction() {
+            return transaction() != null;
+        }
+
+        /** {@inheritDoc} */
         @SuppressWarnings("unchecked")
         @Override public <K1, V1> Map<K1, V1> properties() {
             SessionData ses0 = sesHolder.get();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/16105ec9/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestCacheSession.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestCacheSession.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestCacheSession.java
index cca20fe..0709880 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestCacheSession.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestCacheSession.java
@@ -50,6 +50,11 @@ public class TestCacheSession implements CacheStoreSession {
     }
 
     /** {@inheritDoc} */
+    @Override public boolean isWithinTransaction() {
+        return transaction() != null;
+    }
+
+    /** {@inheritDoc} */
     @SuppressWarnings("unchecked")
     @Override public <K, V> Map<K, V> properties() {
         if (props == null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/16105ec9/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestThreadLocalCacheSession.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestThreadLocalCacheSession.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestThreadLocalCacheSession.java
index 6687f1f..2bbcf1b 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestThreadLocalCacheSession.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/cache/TestThreadLocalCacheSession.java
@@ -49,6 +49,11 @@ public class TestThreadLocalCacheSession implements CacheStoreSession {
     }
 
     /** {@inheritDoc} */
+    @Override public boolean isWithinTransaction() {
+        return transaction() != null;
+    }
+
+    /** {@inheritDoc} */
     @SuppressWarnings("unchecked")
     @Override public <K, V> Map<K, V> properties() {
         TestCacheSession ses = sesHolder.get();


[19/20] incubator-ignite git commit: Merge branches 'ignite-339' and 'sprint-2' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-339

Posted by ak...@apache.org.
Merge branches 'ignite-339' and 'sprint-2' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-339


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/60e0ecb2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/60e0ecb2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/60e0ecb2

Branch: refs/heads/ignite-339
Commit: 60e0ecb2e269e6af2b0c04df2aed6f494657b03c
Parents: 5d3a2be 13e2d1f
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Mar 2 15:59:00 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Mar 2 15:59:00 2015 +0700

----------------------------------------------------------------------
 .../store/CacheNodeWithStoreStartup.java        |   6 +-
 .../store/jdbc/CacheJdbcPersonStore.java        | 115 ++++++----------
 .../apache/ignite/cache/store/CacheStore.java   |   4 +-
 .../ignite/cache/store/CacheStoreAdapter.java   |   2 +-
 .../ignite/cache/store/CacheStoreSession.java   |  17 ++-
 .../processors/cache/GridCacheStoreManager.java |   6 +-
 .../ignite/internal/util/IgniteUtils.java       |  90 ++++++++++--
 .../spi/discovery/tcp/TcpDiscoverySpi.java      | 137 +++++++++++--------
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 116 ++++++++++++++++
 .../core/src/test/config/store/jdbc/Ignite.xml  |  63 +++++++--
 .../junits/cache/TestCacheSession.java          |   5 +
 .../cache/TestThreadLocalCacheSession.java      |   5 +
 .../ignite/schema/generator/XmlGenerator.java   |   8 +-
 .../apache/ignite/schema/model/PojoField.java   |  11 +-
 .../apache/ignite/schema/load/model/Ignite.xml  | 133 +++++++++++++-----
 .../yardstick/config/ignite-store-config.xml    |  15 +-
 16 files changed, 521 insertions(+), 212 deletions(-)
----------------------------------------------------------------------



[08/20] incubator-ignite git commit: ignite-11 Ad missing javadoc.

Posted by ak...@apache.org.
ignite-11 Ad missing javadoc.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2999d205
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2999d205
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2999d205

Branch: refs/heads/ignite-339
Commit: 2999d205d963f444812c9d380f0620f30c095196
Parents: 8b9e7f8
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 26 17:40:44 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 26 17:40:44 2015 +0300

----------------------------------------------------------------------
 .../main/java/org/apache/ignite/internal/util/IgniteUtils.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2999d205/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index b24743a..de71f59 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -1434,6 +1434,9 @@ public abstract class IgniteUtils {
         return locHost0 != null && !resetLocalHost().equals(locHost0);
     }
 
+    /**
+     * @param addrs Addresses.
+     */
     public static List<InetAddress> filterReachable(List<InetAddress> addrs) {
         final int reachTimeout = 2000;
 
@@ -1495,7 +1498,6 @@ public abstract class IgniteUtils {
      */
     public static IgniteBiTuple<Collection<String>, Collection<String>> resolveLocalAddresses(InetAddress locAddr)
         throws IOException, IgniteCheckedException {
-
         assert locAddr != null;
 
         Collection<String> addrs = new ArrayList<>();


[20/20] incubator-ignite git commit: # IGNITE-339 Review.

Posted by ak...@apache.org.
# IGNITE-339 Review.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c847e885
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c847e885
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c847e885

Branch: refs/heads/ignite-339
Commit: c847e88513d47925a03e84faf8739b6e7b012755
Parents: 60e0ecb
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Mar 2 16:44:13 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Mar 2 16:44:13 2015 +0700

----------------------------------------------------------------------
 .../internal/visor/cache/VisorCacheConfiguration.java | 10 ----------
 .../visor/commands/cache/VisorCacheCommand.scala      | 14 +++++---------
 2 files changed, 5 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c847e885/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
index 2ad0e49..a6ec05c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
@@ -48,9 +48,6 @@ public class VisorCacheConfiguration implements Serializable {
     /** Cache atomicity mode */
     private CacheAtomicityMode atomicityMode;
 
-    /** Cache atomic sequence reserve size */
-    private int atomicSeqReserveSize;
-
     /** Cache atomicity write ordering mode. */
     private CacheAtomicWriteOrderMode atomicWriteOrderMode;
 
@@ -226,13 +223,6 @@ public class VisorCacheConfiguration implements Serializable {
     }
 
     /**
-     * @return Cache atomic sequence reserve size
-     */
-    public int atomicSequenceReserveSize() {
-        return atomicSeqReserveSize;
-    }
-
-    /**
      * @return Cache atomicity write ordering mode.
      */
     public CacheAtomicWriteOrderMode atomicWriteOrderMode() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c847e885/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
index 7232221..e2ca05b 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
@@ -783,7 +783,6 @@ object VisorCacheCommand {
 
         cacheT += ("Mode", cfg.mode)
         cacheT += ("Atomicity Mode", safe(cfg.atomicityMode))
-        cacheT += ("Atomic Sequence Reserve Size", cfg.atomicSequenceReserveSize)
         cacheT += ("Atomic Write Ordering Mode", safe(cfg.atomicWriteOrderMode))
         cacheT += ("Statistic Enabled", bool2Str(cfg.statisticsEnabled()))
         cacheT += ("Management Enabled", bool2Str(cfg.managementEnabled()))
@@ -839,11 +838,10 @@ object VisorCacheCommand {
         cacheT += ("Cache Interceptor", safe(cfg.interceptor()))
 
         cacheT += ("Store Enabled", bool2Str(storeCfg.enabled()))
-        cacheT += ("Store", safe(storeCfg.store()))
-        cacheT += ("Configured JDBC Store", bool2Str(storeCfg.jdbcStore()))
-
-        cacheT += ("Read Through", bool2Str(storeCfg.readThrough()))
-        cacheT += ("Write Through", bool2Str(storeCfg.writeThrough()))
+        cacheT += ("Store Сlass", safe(storeCfg.store()))
+        cacheT += ("Store Factory Сlass", storeCfg.storeFactory())
+        cacheT += ("Store Read Through", bool2Str(storeCfg.readThrough()))
+        cacheT += ("Store Write Through", bool2Str(storeCfg.writeThrough()))
 
         cacheT += ("Write-Behind Enabled", bool2Str(storeCfg.enabled()))
         cacheT += ("Write-Behind Flush Size", storeCfg.flushSize())
@@ -853,9 +851,7 @@ object VisorCacheCommand {
 
         cacheT += ("Concurrent Asynchronous Operations Number", cfg.maxConcurrentAsyncOperations())
         cacheT += ("Memory Mode", cfg.memoryMode())
-
-        cacheT += ("Store Values Bytes", cfg.valueBytes())
-
+        cacheT += ("Keep Values Bytes", cfg.valueBytes())
         cacheT += ("Off-Heap Size", cfg.offsetHeapMaxMemory())
 
         cacheT += ("Loader Factory Class Name", safe(cfg.loaderFactory()))


[03/20] incubator-ignite git commit: # IGNITE-11 Optimization obtaining localhosts.

Posted by ak...@apache.org.
# IGNITE-11 Optimization obtaining localhosts.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e89a70cc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e89a70cc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e89a70cc

Branch: refs/heads/ignite-339
Commit: e89a70cc911648b081b56c4c19e6f59d137b3a8e
Parents: e7171b0
Author: sevdokimov <se...@jetbrains.com>
Authored: Sun Feb 22 13:11:28 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Sun Feb 22 13:11:28 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/util/IgniteUtils.java       | 87 +++++++++++++++++---
 1 file changed, 76 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e89a70cc/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 5db0da4..4cf5718 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -300,6 +300,8 @@ public abstract class IgniteUtils {
     private static final Map<Class<? extends IgniteCheckedException>, C1<IgniteCheckedException, IgniteException>>
         exceptionConverters;
 
+    private volatile static IgniteBiTuple<Collection<String>, Collection<String>> cachedLocalAddr;
+
     /**
      * Initializes enterprise check.
      */
@@ -1489,6 +1491,55 @@ public abstract class IgniteUtils {
         return locHost0 != null && !resetLocalHost().equals(locHost0);
     }
 
+    public static List<InetAddress> filterReachable(List<InetAddress> addrs) {
+        final int reachTimeout = 2000;
+
+        if (addrs.isEmpty())
+            return Collections.emptyList();
+
+        if (addrs.size() == 1) {
+            if (reachable(addrs.get(1), reachTimeout))
+                return Collections.singletonList(addrs.get(1));
+
+            return Collections.emptyList();
+        }
+
+        final List<InetAddress> res = new ArrayList<>(addrs.size());
+
+        Collection<Future<?>> futs = new ArrayList<>(addrs.size());
+
+        ExecutorService executor = Executors.newFixedThreadPool(Math.min(10, addrs.size()));
+
+        for (final InetAddress addr : addrs) {
+            futs.add(executor.submit(new Runnable() {
+                @Override
+                public void run() {
+                    if (reachable(addr, reachTimeout)) {
+                        synchronized (res) {
+                            res.add(addr);
+                        }
+                    }
+                }
+            }));
+        }
+
+        for (Future<?> fut : futs) {
+            try {
+                fut.get();
+            } catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
+
+                throw new IgniteException("Thread has been interrupted.", e);
+            } catch (ExecutionException e) {
+                throw new IgniteException(e);
+            }
+        }
+
+        executor.shutdown();
+
+        return res;
+    }
+
     /**
      * Returns host names consistent with {@link #resolveLocalHost(String)}. So when it returns
      * a common address this method returns single host name, and when a wildcard address passed
@@ -1501,28 +1552,42 @@ public abstract class IgniteUtils {
      */
     public static IgniteBiTuple<Collection<String>, Collection<String>> resolveLocalAddresses(InetAddress locAddr)
         throws IOException, IgniteCheckedException {
+
         assert locAddr != null;
 
         Collection<String> addrs = new ArrayList<>();
         Collection<String> hostNames = new ArrayList<>();
 
         if (locAddr.isAnyLocalAddress()) {
-            // It should not take longer than 2 seconds to reach
-            // local address on any network.
-            int reachTimeout = 2000;
+            IgniteBiTuple<Collection<String>, Collection<String>> res = cachedLocalAddr;
 
-            for (NetworkInterface itf : asIterable(NetworkInterface.getNetworkInterfaces())) {
-                for (InetAddress addr : asIterable(itf.getInetAddresses())) {
-                    if (!addr.isLinkLocalAddress() && reachable(itf, addr, reachTimeout))
-                        addresses(addr, addrs, hostNames);
+            if (res == null) {
+                List<InetAddress> localAddrs = new ArrayList<>();
+
+                for (NetworkInterface itf : asIterable(NetworkInterface.getNetworkInterfaces())) {
+                    for (InetAddress addr : asIterable(itf.getInetAddresses())) {
+                        if (!addr.isLinkLocalAddress())
+                            localAddrs.add(addr);
+                    }
                 }
+
+                localAddrs = filterReachable(localAddrs);
+
+                for (InetAddress addr : localAddrs)
+                    addresses(addr, addrs, hostNames);
+
+                if (F.isEmpty(addrs))
+                    throw new IgniteCheckedException("No network addresses found (is networking enabled?).");
+
+                res = F.t(addrs, hostNames);
+
+                cachedLocalAddr = res;
             }
 
-            if (F.isEmpty(addrs))
-                throw new IgniteCheckedException("No network addresses found (is networking enabled?).");
+            return res;
         }
-        else
-            addresses(locAddr, addrs, hostNames);
+
+        addresses(locAddr, addrs, hostNames);
 
         return F.t(addrs, hostNames);
     }


[10/20] incubator-ignite git commit: # sprint-2 - Fixed warning in example.

Posted by ak...@apache.org.
# sprint-2 - Fixed warning in example.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/375376b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/375376b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/375376b6

Branch: refs/heads/ignite-339
Commit: 375376b68ccb9e8d83746f6eeac49a6388396012
Parents: a792c99
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Fri Feb 27 23:50:04 2015 -0500
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Fri Feb 27 23:50:04 2015 -0500

----------------------------------------------------------------------
 .../examples/datagrid/store/CacheNodeWithStoreStartup.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/375376b6/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
index 0c87f84..5245f98 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/CacheNodeWithStoreStartup.java
@@ -64,19 +64,19 @@ public class CacheNodeWithStoreStartup {
 
         discoSpi.setIpFinder(ipFinder);
 
-        CacheConfiguration cacheCfg = new CacheConfiguration();
+        CacheConfiguration<Long, Person> cacheCfg = new CacheConfiguration<>();
 
         // Set atomicity as transaction, since we are showing transactions in example.
         cacheCfg.setAtomicityMode(TRANSACTIONAL);
 
-        CacheStore store;
+        CacheStore<Long, Person> store;
 
         // Uncomment other cache stores to try them.
         store = new CacheDummyPersonStore();
         // store = new CacheJdbcPersonStore();
         // store = new CacheHibernatePersonStore();
 
-        cacheCfg.setCacheStoreFactory(new FactoryBuilder.SingletonFactory(store));
+        cacheCfg.setCacheStoreFactory(new FactoryBuilder.SingletonFactory<>(store));
         cacheCfg.setReadThrough(true);
         cacheCfg.setWriteThrough(true);
 


[12/20] incubator-ignite git commit: # sprint-2 - exception fix.

Posted by ak...@apache.org.
# sprint-2 - exception fix.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6097e7bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6097e7bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6097e7bf

Branch: refs/heads/ignite-339
Commit: 6097e7bfc3af49296b50017d5661d313aaa3db80
Parents: a14ef18
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Sat Feb 28 00:29:42 2015 -0500
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Sat Feb 28 00:29:42 2015 -0500

----------------------------------------------------------------------
 .../examples/datagrid/store/jdbc/CacheJdbcPersonStore.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6097e7bf/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
index 6388fbf..d80861d 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
@@ -92,7 +92,7 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public Person load(Long key) {
+    @Override public Person load(Long key) {
         Transaction tx = transaction();
 
         System.out.println(">>> Store load [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
@@ -185,7 +185,7 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
             }
         }
         catch (SQLException e) {
-            throw new CacheLoaderException("Failed to remove object: " + key, e);
+            throw new CacheWriterException("Failed to remove object: " + key, e);
         }
         finally {
             end(tx, conn);
@@ -302,7 +302,7 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
     /**
      * @return Current transaction.
      */
-    @Nullable private Transaction transaction() {
+    private Transaction transaction() {
         return ses != null ? ses.transaction() : null;
     }
 }


[06/20] incubator-ignite git commit: Remove temporary code.

Posted by ak...@apache.org.
Remove temporary code.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/de75adb2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/de75adb2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/de75adb2

Branch: refs/heads/ignite-339
Commit: de75adb288fc246e710528b42fdf78d7d1b8cdf3
Parents: 153cbee
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 26 17:02:30 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 26 17:02:30 2015 +0300

----------------------------------------------------------------------
 examples/config/example-compute.xml | 2 --
 1 file changed, 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/de75adb2/examples/config/example-compute.xml
----------------------------------------------------------------------
diff --git a/examples/config/example-compute.xml b/examples/config/example-compute.xml
index 303b4eb..c532e17 100644
--- a/examples/config/example-compute.xml
+++ b/examples/config/example-compute.xml
@@ -32,8 +32,6 @@
         <!-- Set to true to enable distributed class loading for examples, default is false. -->
         <property name="peerClassLoadingEnabled" value="true"/>
 
-        <property name="localHost" value="127.0.0.1" />
-
         <property name="marshaller">
             <bean class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller">
                 <!-- Set to false to allow non-serializable objects in examples, default is true. -->


[05/20] incubator-ignite git commit: Merge commit

Posted by ak...@apache.org.
Merge commit


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/153cbee4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/153cbee4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/153cbee4

Branch: refs/heads/ignite-339
Commit: 153cbee41b8adbcac1989f7746d1ef51049cda1f
Parents: 493775a bf8c048
Author: sevdokimov <se...@gridgain.com>
Authored: Thu Feb 26 17:01:52 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu Feb 26 17:01:52 2015 +0300

----------------------------------------------------------------------
 examples/config/example-compute.xml             |    2 +
 .../hibernate/example-hibernate-L2-cache.xml    |    2 +-
 .../ComputeFibonacciContinuationExample.java    |   17 +-
 .../examples/datagrid/CacheApiExample.java      |    4 +-
 .../datagrid/CacheContinuousQueryExample.java   |    6 +-
 .../IgniteCountDownLatchExample.java            |    3 +-
 .../MessagingPingPongListenActorExample.java    |    3 +-
 .../examples/ScalarContinuationExample.scala    |   20 +-
 .../checkpoint/s3/S3CheckpointSpiSelfTest.java  |   10 +-
 .../internal/client/ClientStartNodeTask.java    |    5 +-
 .../processors/rest/RestProcessorTest.java      |    8 +-
 .../processors/rest/TestBinaryClient.java       |    1 -
 .../processors/rest/TestMemcacheClient.java     |   13 +-
 .../protocols/tcp/TcpRestParserSelfTest.java    |    2 +-
 .../ignite/codegen/MessageCodeGenerator.java    |   28 +-
 .../java/org/apache/ignite/IgniteCache.java     |   69 +
 .../java/org/apache/ignite/IgniteCluster.java   |    3 +-
 .../main/java/org/apache/ignite/IgniteFs.java   |    2 +-
 .../apache/ignite/IgniteSystemProperties.java   |    5 +
 .../ignite/cache/IgniteEntryProcessor.java      |   28 +
 .../CacheRendezvousAffinityFunction.java        |    1 +
 .../cache/store/jdbc/CacheJdbcPojoStore.java    |   28 +-
 .../ignite/cluster/ClusterNodeLocalMap.java     |   60 -
 .../org/apache/ignite/events/EventType.java     |    8 +
 .../IgfsByteDelimiterRecordResolver.java        |    1 +
 .../java/org/apache/ignite/igfs/package.html    |    2 +-
 .../ignite/internal/ClusterMetricsSnapshot.java |    9 +-
 .../internal/GridEventConsumeHandler.java       |    1 +
 .../ignite/internal/GridKernalContext.java      |   16 +-
 .../ignite/internal/GridKernalContextImpl.java  |   23 +-
 .../internal/GridMessageListenHandler.java      |    1 +
 .../apache/ignite/internal/IgniteKernal.java    |   11 +-
 .../cluster/ClusterNodeLocalMapImpl.java        |   27 +-
 .../cluster/IgniteClusterAsyncImpl.java         |    3 +-
 .../internal/cluster/IgniteClusterImpl.java     |    4 +-
 .../internal/events/DiscoveryCustomEvent.java   |   68 +
 .../igfs/common/IgfsControlResponse.java        |    1 +
 .../internal/igfs/common/IgfsMarshaller.java    |    1 +
 .../internal/managers/GridManagerAdapter.java   |    5 +
 .../discovery/GridDiscoveryManager.java         |  105 +-
 .../affinity/GridAffinityMessage.java           |    1 +
 .../processors/cache/GridCacheEntryInfo.java    |    5 +-
 .../processors/cache/GridCacheMapEntry.java     |  562 ++--
 .../processors/cache/GridCacheSwapManager.java  |    4 +-
 .../processors/cache/GridCacheUtils.java        |    4 +
 .../processors/cache/IgniteCacheProxy.java      |   63 +
 .../GridDistributedTxRemoteAdapter.java         |   66 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   44 +-
 .../dht/atomic/GridNearAtomicUpdateFuture.java  |   84 +-
 .../distributed/near/GridNearAtomicCache.java   |    3 -
 .../query/GridCacheDistributedQueryManager.java |    4 +-
 .../cache/query/GridCacheQueryManager.java      |    2 +-
 .../continuous/CacheContinuousQueryEntry.java   |    1 +
 .../continuous/CacheContinuousQueryHandler.java |    1 +
 .../cache/transactions/IgniteTxAdapter.java     |   58 +-
 .../cache/transactions/IgniteTxEntry.java       |   17 +-
 .../transactions/IgniteTxLocalAdapter.java      |   48 +-
 .../version/GridCacheRawVersionedEntry.java     |    1 +
 .../cache/version/GridCacheVersion.java         |    3 +-
 .../GridCacheVersionConflictContext.java        |   35 +-
 .../cache/version/GridCacheVersionEx.java       |    2 +-
 .../processors/clock/GridClockMessage.java      |    1 +
 .../closure/GridClosureProcessor.java           |   82 +-
 .../dataload/GridDataLoaderProcessor.java       |    2 +-
 .../datastructures/DataStructuresProcessor.java |    2 +-
 .../dr/GridDrDataLoadCacheUpdater.java          |    6 +-
 .../processors/igfs/IgfsDataManager.java        |    4 +-
 .../internal/processors/igfs/IgfsImpl.java      |    6 +-
 .../processors/igfs/IgfsOutputStreamImpl.java   |    4 +-
 .../internal/processors/igfs/IgfsServer.java    |    1 +
 .../internal/processors/job/GridJobWorker.java  |    2 +-
 .../processors/rest/GridRestProcessor.java      |   85 +-
 .../processors/rest/GridRestResponse.java       |    1 +
 .../message/GridClientAbstractMessage.java      |    1 +
 .../message/GridClientHandshakeRequest.java     |    1 +
 .../cache/GridCacheQueryCommandHandler.java     |    7 +-
 .../protocols/tcp/GridMemcachedMessage.java     |    3 +-
 .../rest/protocols/tcp/GridTcpRestParser.java   |   10 +-
 .../securesession/GridSecureSession.java        |   60 -
 .../GridSecureSessionProcessor.java             |   59 -
 .../os/GridOsSecureSessionProcessor.java        |   61 -
 .../security/GridSecurityContext.java           |  251 --
 .../security/GridSecurityProcessor.java         |    6 +-
 .../processors/security/SecurityContext.java    |   56 +
 .../security/os/GridOsSecurityProcessor.java    |  146 +-
 .../processors/task/GridTaskWorker.java         |    4 +-
 .../internal/util/IgniteExceptionRegistry.java  |  259 ++
 .../ignite/internal/util/IgniteUtils.java       | 2569 ++++++++----------
 .../nio/GridConnectionBytesVerifyFilter.java    |    1 +
 .../util/nio/GridTcpCommunicationClient.java    |    1 +
 .../apache/ignite/internal/util/typedef/X.java  |    3 +-
 .../VisorComputeToggleMonitoringTask.java       |    4 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |    4 +-
 .../node/VisorNodeEventsCollectorTask.java      |    3 +-
 .../visor/query/VisorQueryCleanupTask.java      |    4 +-
 .../visor/query/VisorQueryNextPageTask.java     |    6 +-
 .../internal/visor/query/VisorQueryTask.java    |    4 +-
 .../internal/visor/util/VisorTaskUtils.java     |   45 +-
 .../ignite/lang/IgniteProductVersion.java       |    1 +
 .../optimized/optimized-classnames.properties   |    3 +-
 .../org/apache/ignite/mxbean/IgniteMXBean.java  |    6 +
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |   15 +
 .../org/apache/ignite/spi/IgniteSpiContext.java |    8 +
 .../ignite/spi/IgniteSpiThreadFactory.java      |    2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   54 +-
 .../ignite/spi/discovery/DiscoverySpi.java      |    7 +
 .../spi/discovery/DiscoverySpiListener.java     |   11 +-
 .../DiscoverySpiNodeAuthenticator.java          |    2 +-
 .../discovery/tcp/TcpClientDiscoverySpi.java    |    7 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  280 +-
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   |    3 +
 .../tcp/internal/TcpDiscoveryNode.java          |    1 +
 .../TcpDiscoveryMulticastIpFinder.java          |    1 +
 .../messages/TcpDiscoveryAuthFailedMessage.java |    1 +
 .../TcpDiscoveryCustomEventMessage.java         |   66 +
 .../messages/TcpDiscoveryHeartbeatMessage.java  |    1 +
 .../spi/swapspace/file/FileSwapSpaceSpi.java    |    2 +-
 .../core/src/main/resources/ignite.properties   |    2 +-
 .../internal/GridDiscoveryEventSelfTest.java    |   44 +
 .../internal/GridEventStorageSelfTest.java      |    3 +-
 .../GridJobMasterLeaveAwareSelfTest.java        |   24 +-
 .../internal/GridMultipleJobsSelfTest.java      |    2 +-
 .../ignite/internal/GridNodeLocalSelfTest.java  |    4 +-
 .../GridTaskContinuousMapperSelfTest.java       |    3 +-
 .../GridTaskExecutionContextSelfTest.java       |    2 +-
 .../GridCheckpointManagerAbstractSelfTest.java  |   20 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  101 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |   13 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |    5 +-
 .../cache/IgniteTxMultiNodeAbstractTest.java    |   33 +-
 ...cheAtomicReferenceMultiNodeAbstractTest.java |   12 +-
 .../GridCacheMultiNodeDataStructureTest.java    |    3 +-
 ...dCacheSequenceMultiNodeAbstractSelfTest.java |    2 +-
 ...titionedAtomicSequenceMultiThreadedTest.java |   16 +-
 ...dCachePartitionedQueueEntryMoveSelfTest.java |    2 +-
 .../GridCacheAbstractJobExecutionTest.java      |    2 +-
 .../distributed/GridCacheEventAbstractTest.java |    4 +-
 .../dht/GridCacheDhtInternalEntrySelfTest.java  |    6 +-
 .../dht/GridCacheDhtMultiBackupTest.java        |    2 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |    3 +-
 ...ePartitionedMultiThreadedPutGetSelfTest.java |    2 +-
 .../near/IgniteCacheNearReadCommittedTest.java  |    3 +
 .../GridCacheRandomEvictionPolicySelfTest.java  |    2 +-
 .../IgniteCacheLoaderWriterAbstractTest.java    |   47 +
 .../closure/GridClosureProcessorSelfTest.java   |   14 +-
 .../processors/igfs/IgfsAbstractSelfTest.java   |    5 +-
 .../igfs/IgfsDataManagerSelfTest.java           |    1 +
 .../processors/igfs/IgfsProcessorSelfTest.java  |    3 +-
 .../streamer/GridStreamerEvictionSelfTest.java  |    2 +-
 .../streamer/GridStreamerSelfTest.java          |    2 +-
 .../util/IgniteExceptionRegistrySelfTest.java   |   89 +
 .../internal/util/IgniteUtilsSelfTest.java      |    6 +-
 .../internal/util/nio/GridRoundTripTest.java    |    1 +
 .../offheap/GridOffHeapMapAbstractSelfTest.java |    1 +
 .../cache/GridCacheDataStructuresLoadTest.java  |   36 +-
 .../loadtests/cache/GridCacheLoadTest.java      |    6 +-
 .../loadtests/cache/GridCacheSwapLoadTest.java  |    5 +-
 .../loadtests/colocation/GridTestMain.java      |    3 +-
 .../communication/GridIoManagerBenchmark.java   |    3 +-
 .../GridMultiSplitsRedeployLoadTest.java        |    5 +-
 .../loadtests/discovery/GridGcTimeoutTest.java  |    3 +-
 .../ignite/loadtests/dsi/GridDsiPerfJob.java    |   16 +-
 .../job/GridJobExecutionSingleNodeLoadTest.java |    2 +-
 .../mapper/GridContinuousMapperLoadTest1.java   |    3 +-
 .../loadtests/mapper/GridNodeStartup.java       |    3 +-
 .../mergesort/GridMergeSortLoadTest.java        |    3 +-
 .../streamer/GridStreamerIndexLoadTest.java     |    4 +-
 .../swap/GridSwapEvictAllBenchmark.java         |    3 +-
 .../marshaller/GridMarshallerAbstractTest.java  |    6 +-
 ...idSessionFutureWaitJobAttributeSelfTest.java |    3 +-
 .../GridSessionSetTaskAttributeSelfTest.java    |    3 +-
 ...GridSessionTaskWaitJobAttributeSelfTest.java |    3 +-
 .../discovery/AbstractDiscoverySelfTest.java    |   22 +-
 .../tcp/TcpDiscoverySpiStartStopSelfTest.java   |   23 -
 .../roundrobin/GridRoundRobinTestUtils.java     |    6 +-
 .../file/GridFileSwapSpaceSpiSelfTest.java      |    1 +
 .../index/GridStreamerIndexSelfTest.java        |   17 +-
 .../window/GridStreamerWindowSelfTest.java      |    3 +-
 .../testframework/GridSpiTestContext.java       |    6 +
 .../junits/GridTestKernalContext.java           |    2 +
 .../ignite/testframework/junits/IgniteMock.java |    1 -
 .../cache/GridAbstractCacheStoreSelfTest.java   |    3 +-
 .../junits/spi/GridSpiAbstractTest.java         |   12 -
 .../ignite/testsuites/IgniteCacheTestSuite.java |    3 +-
 .../testsuites/IgniteUtilSelfTestSuite.java     |    1 +
 .../tests/p2p/GridP2PAwareTestUserResource.java |    5 +-
 .../tests/p2p/GridTestMessageListener.java      |    4 +-
 modules/hadoop/pom.xml                          |   10 -
 .../client/hadoop/GridHadoopClientProtocol.java |    3 +-
 .../java/org/apache/ignite/igfs/package.html    |    2 +-
 .../internal/igfs/hadoop/IgfsHadoopWrapper.java |    2 +-
 .../hadoop/GridHadoopDefaultJobInfo.java        |    5 +-
 .../processors/hadoop/GridHadoopSetup.java      |    3 +-
 .../GridHadoopDefaultMapReducePlanner.java      |    3 +-
 .../shuffle/GridHadoopShuffleMessage.java       |    1 +
 .../taskexecutor/GridHadoopExecutorService.java |    2 +-
 .../hadoop/v2/GridHadoopSplitWrapper.java       |    3 +-
 .../hadoop/GridHadoopGroupingTest.java          |   10 +-
 .../hadoop/GridHadoopJobTrackerSelfTest.java    |    2 +-
 .../hadoop/GridHadoopSortingTest.java           |    9 +-
 .../processors/hadoop/GridHadoopStartup.java    |    2 +-
 .../ignite/loadtests/igfs/IgfsNodeStartup.java  |    3 +-
 .../testsuites/IgniteHadoopTestSuite.java       |    7 +-
 ...idHibernateAbstractRegionAccessStrategy.java |   97 -
 .../GridHibernateAccessStrategyAdapter.java     |  369 ---
 .../GridHibernateCollectionRegion.java          |   99 -
 .../hibernate/GridHibernateEntityRegion.java    |  110 -
 .../GridHibernateGeneralDataRegion.java         |   69 -
 .../hibernate/GridHibernateNaturalIdRegion.java |   98 -
 .../GridHibernateNonStrictAccessStrategy.java   |  220 --
 .../GridHibernateQueryResultsRegion.java        |   71 -
 .../GridHibernateReadOnlyAccessStrategy.java    |  106 -
 .../GridHibernateReadWriteAccessStrategy.java   |  282 --
 .../cache/hibernate/GridHibernateRegion.java    |  101 -
 .../hibernate/GridHibernateRegionFactory.java   |  231 --
 .../GridHibernateTimestampsRegion.java          |   40 -
 ...ridHibernateTransactionalAccessStrategy.java |  139 -
 .../GridHibernateTransactionalDataRegion.java   |   96 -
 .../HibernateAbstractRegionAccessStrategy.java  |   97 +
 .../HibernateAccessStrategyAdapter.java         |  369 +++
 .../hibernate/HibernateCollectionRegion.java    |   99 +
 .../cache/hibernate/HibernateEntityRegion.java  |  110 +
 .../hibernate/HibernateGeneralDataRegion.java   |   69 +
 .../hibernate/HibernateNaturalIdRegion.java     |   98 +
 .../HibernateNonStrictAccessStrategy.java       |  220 ++
 .../hibernate/HibernateQueryResultsRegion.java  |   71 +
 .../HibernateReadOnlyAccessStrategy.java        |  106 +
 .../HibernateReadWriteAccessStrategy.java       |  282 ++
 .../ignite/cache/hibernate/HibernateRegion.java |  101 +
 .../cache/hibernate/HibernateRegionFactory.java |  231 ++
 .../hibernate/HibernateTimestampsRegion.java    |   40 +
 .../HibernateTransactionalAccessStrategy.java   |  139 +
 .../HibernateTransactionalDataRegion.java       |   96 +
 .../apache/ignite/cache/hibernate/package.html  |    2 +-
 ...idHibernateL2CacheConfigurationSelfTest.java |  393 ---
 .../hibernate/GridHibernateL2CacheSelfTest.java | 1923 -------------
 ...idHibernateL2CacheTransactionalSelfTest.java |  135 -
 .../HibernateL2CacheConfigurationSelfTest.java  |  393 +++
 .../hibernate/HibernateL2CacheSelfTest.java     | 1925 +++++++++++++
 .../HibernateL2CacheTransactionalSelfTest.java  |  135 +
 .../testsuites/IgniteHibernateTestSuite.java    |    6 +-
 .../cache/GridCacheCrossCacheQuerySelfTest.java |    2 +-
 .../GridCacheCrossCacheQuerySelfTestNewApi.java |    2 +-
 .../http/jetty/GridJettyRestHandler.java        |    1 +
 .../p2p/GridP2PUserVersionChangeSelfTest.java   |    4 +-
 ...gniteProjectionStartStopRestartSelfTest.java |    3 +-
 pom.xml                                         |    2 +-
 247 files changed, 8023 insertions(+), 7780 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/153cbee4/examples/config/example-compute.xml
----------------------------------------------------------------------
diff --cc examples/config/example-compute.xml
index c532e17,c532e17..303b4eb
--- a/examples/config/example-compute.xml
+++ b/examples/config/example-compute.xml
@@@ -32,6 -32,6 +32,8 @@@
          <!-- Set to true to enable distributed class loading for examples, default is false. -->
          <property name="peerClassLoadingEnabled" value="true"/>
  
++        <property name="localHost" value="127.0.0.1" />
++
          <property name="marshaller">
              <bean class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller">
                  <!-- Set to false to allow non-serializable objects in examples, default is true. -->

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/153cbee4/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/153cbee4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 3e9c120,ecdc6cc..3fc52b1
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@@ -1395,83 -1399,68 +1399,86 @@@ public class TcpDiscoverySpi extends Tc
                  return false;
  
              boolean retry = false;
 -            IgniteCheckedException errs = null;
 +            Collection<Exception> errs = new ArrayList<>();
  
 -            for (InetSocketAddress addr : addrs) {
 -                try {
 -                    Integer res = sendMessageDirectly(joinReq, addr);
 +            SocketMultiConnector multiConnector = new SocketMultiConnector(addrs, 2);
  
 -                    assert res != null;
 +            try {
 +                GridTuple3<InetSocketAddress, Socket, Exception> tuple;
  
 -                    noResAddrs.remove(addr);
 +                while ((tuple = multiConnector.next()) != null) {
 +                    InetSocketAddress addr = tuple.get1();
 +                    Socket sock = tuple.get2();
 +                    Exception ex = tuple.get3();
  
 -                    // Address is responsive, reset period start.
 -                    noResStart = 0;
 +                    if (ex == null) {
 +                        assert sock != null;
  
 -                    switch (res) {
 -                        case RES_WAIT:
 -                            // Concurrent startup, try sending join request again or wait if no success.
 -                            retry = true;
 +                        try {
 +                            Integer res = sendMessageDirectly(joinReq, addr, sock);
  
 -                            break;
 -                        case RES_OK:
 -                            if (log.isDebugEnabled())
 -                                log.debug("Join request message has been sent to address [addr=" + addr +
 -                                    ", req=" + joinReq + ']');
 +                            assert res != null;
  
 -                            // Join request sending succeeded, wait for response from topology.
 -                            return true;
 +                            noResAddrs.remove(addr);
  
 -                        default:
 -                            // Concurrent startup, try next node.
 -                            if (res == RES_CONTINUE_JOIN) {
 -                                if (!fromAddrs.contains(addr))
 +                            // Address is responsive, reset period start.
 +                            noResStart = 0;
 +
 +                            switch (res) {
 +                                case RES_WAIT:
 +                                    // Concurrent startup, try sending join request again or wait if no success.
                                      retry = true;
 -                            }
 -                            else {
 -                                if (log.isDebugEnabled())
 -                                    log.debug("Unexpected response to join request: " + res);
  
 -                                retry = true;
 -                            }
 +                                    break;
 +                                case RES_OK:
 +                                    if (log.isDebugEnabled())
 +                                        log.debug("Join request message has been sent to address [addr=" + addr +
 +                                            ", req=" + joinReq + ']');
  
 -                            break;
 +                                    // Join request sending succeeded, wait for response from topology.
 +                                    return true;
 +
 +                                default:
 +                                    // Concurrent startup, try next node.
 +                                    if (res == RES_CONTINUE_JOIN) {
 +                                        if (!fromAddrs.contains(addr))
 +                                            retry = true;
 +                                    }
 +                                    else {
 +                                        if (log.isDebugEnabled())
 +                                            log.debug("Unexpected response to join request: " + res);
 +
 +                                        retry = true;
 +                                    }
 +
 +                                    break;
 +                            }
 +                        }
 +                        catch (IgniteSpiException e) {
 +                            ex = e;
 +                        }
                      }
 -                }
 -                catch (IgniteSpiException e) {
 -                    if (errs == null)
 -                        errs = new IgniteCheckedException("Multiple connection attempts failed.");
  
 -                    errs.addSuppressed(e);
 +                    if (ex != null) {
 +                        errs.add(ex);
  
 -                    if (log.isDebugEnabled()) {
 -                        IOException ioe = X.cause(e, IOException.class);
 +                        if (log.isDebugEnabled()) {
 +                            IOException ioe = X.cause(ex, IOException.class);
  
 -                        log.debug("Failed to send join request message [addr=" + addr +
 -                            ", msg=" + ioe != null ? ioe.getMessage() : e.getMessage() + ']');
 +                            log.debug("Failed to send join request message [addr=" + addr +
 +                                ", msg=" + ioe != null ? ioe.getMessage() : ex.getMessage() + ']');
+ 
 -                        onException("Failed to send join request message [addr=" + addr +
 -                            ", msg=" + ioe != null ? ioe.getMessage() : e.getMessage() + ']', ioe);
 -                    }
++                            onException("Failed to send join request message [addr=" + addr +
++                                ", msg=" + ioe != null ? ioe.getMessage() : ex.getMessage() + ']', ioe);
 +                        }
  
 -                    noResAddrs.add(addr);
 +                        noResAddrs.add(addr);
 +                    }
                  }
              }
 +            finally {
 +                multiConnector.close();
 +            }
  
              if (retry) {
                  if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/153cbee4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------


[04/20] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/sprint-2' into ignite-11

Posted by ak...@apache.org.
Merge remote-tracking branch 'remotes/origin/sprint-2' into ignite-11


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/493775aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/493775aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/493775aa

Branch: refs/heads/ignite-339
Commit: 493775aa00c2ffd2e50be7289e17c448d6ae121f
Parents: e89a70c 02e5c37
Author: sevdokimov <se...@jetbrains.com>
Authored: Sun Feb 22 13:12:19 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Sun Feb 22 13:12:19 2015 +0300

----------------------------------------------------------------------
 README.md                                       |   2 -
 bin/setup-hadoop.sh                             |   2 +-
 examples/pom-standalone.xml                     |   2 +-
 .../examples/datagrid/CacheQueryExample.java    |   2 +-
 .../ClientAbstractMultiNodeSelfTest.java        |   8 +-
 .../rest/AbstractRestProcessorSelfTest.java     |   2 +-
 .../ignite/codegen/MessageCodeGenerator.java    | 133 +--
 .../java/org/apache/ignite/cache/GridCache.java |  48 -
 .../ignite/internal/ClusterGroupAdapter.java    | 889 -------------------
 .../apache/ignite/internal/ClusterGroupEx.java  |  44 -
 .../internal/ClusterNodeLocalMapImpl.java       | 103 ---
 .../ignite/internal/GridJobCancelRequest.java   |  26 +-
 .../ignite/internal/GridJobExecuteRequest.java  |  70 +-
 .../ignite/internal/GridJobExecuteResponse.java |  34 +-
 .../ignite/internal/GridJobSiblingsRequest.java |  24 +-
 .../internal/GridJobSiblingsResponse.java       |  22 +-
 .../apache/ignite/internal/GridKillTask.java    | 103 ---
 .../ignite/internal/GridTaskCancelRequest.java  |  22 +-
 .../ignite/internal/GridTaskSessionRequest.java |  26 +-
 .../ignite/internal/IgniteClusterAsyncImpl.java | 261 ------
 .../ignite/internal/IgniteComputeImpl.java      |   1 +
 .../ignite/internal/IgniteEventsImpl.java       |   1 +
 .../org/apache/ignite/internal/IgniteEx.java    |  14 +-
 .../apache/ignite/internal/IgniteKernal.java    | 613 +++----------
 .../ignite/internal/IgniteMessagingImpl.java    |   1 +
 .../ignite/internal/IgniteServicesImpl.java     |   1 +
 .../org/apache/ignite/internal/IgnitionEx.java  |   4 +-
 .../internal/cluster/ClusterGroupAdapter.java   | 866 ++++++++++++++++++
 .../ignite/internal/cluster/ClusterGroupEx.java |  44 +
 .../cluster/ClusterNodeLocalMapImpl.java        | 104 +++
 .../cluster/IgniteClusterAsyncImpl.java         | 292 ++++++
 .../internal/cluster/IgniteClusterEx.java       |  27 +
 .../internal/cluster/IgniteClusterImpl.java     | 527 +++++++++++
 .../ignite/internal/cluster/IgniteKillTask.java | 103 +++
 .../internal/direct/DirectByteBufferStream.java |  44 +-
 .../internal/direct/DirectMessageReader.java    |  33 +-
 .../internal/direct/DirectMessageWriter.java    |  23 +-
 .../direct/DirectMessageWriterState.java        |  13 +-
 .../internal/executor/GridExecutorService.java  |   1 +
 .../internal/managers/GridManagerAdapter.java   |   4 +-
 .../checkpoint/GridCheckpointRequest.java       |  26 +-
 .../managers/communication/GridIoManager.java   |  30 +-
 .../managers/communication/GridIoMessage.java   |  38 +-
 .../communication/GridIoMessageFactory.java     |  33 +-
 .../communication/GridIoUserMessage.java        |  38 +-
 .../deployment/GridDeploymentCommunication.java |   4 +-
 .../deployment/GridDeploymentInfoBean.java      |  35 +-
 .../deployment/GridDeploymentRequest.java       |  34 +-
 .../deployment/GridDeploymentResponse.java      |  26 +-
 .../eventstorage/GridEventStorageMessage.java   |  42 +-
 .../processors/cache/GridCacheAdapter.java      |  49 +-
 .../processors/cache/GridCacheContext.java      |   5 +
 .../cache/GridCacheEvictionRequest.java         |  26 +-
 .../cache/GridCacheEvictionResponse.java        |  30 +-
 .../processors/cache/GridCacheMapEntry.java     |  58 +-
 .../processors/cache/GridCacheMessage.java      |  21 +-
 .../processors/cache/GridCacheProcessor.java    |   4 +
 .../processors/cache/GridCacheProjectionEx.java |  47 +
 .../cache/GridCacheProjectionImpl.java          |  11 +
 .../processors/cache/GridCacheProxyImpl.java    |   8 +-
 .../processors/cache/GridCacheUtils.java        |  46 +-
 .../processors/cache/GridCacheValueBytes.java   |  24 +-
 .../processors/cache/IgniteCacheProxy.java      |  14 +-
 ...idCacheOptimisticCheckPreparedTxRequest.java |  30 +-
 ...dCacheOptimisticCheckPreparedTxResponse.java |  26 +-
 .../distributed/GridCacheTtlUpdateRequest.java  |  58 +-
 .../distributed/GridDistributedBaseMessage.java |  33 +-
 .../GridDistributedCacheAdapter.java            |   4 +-
 .../distributed/GridDistributedLockRequest.java |  52 +-
 .../GridDistributedLockResponse.java            |  30 +-
 .../GridDistributedTxFinishRequest.java         |  42 +-
 .../GridDistributedTxFinishResponse.java        |  24 +-
 .../GridDistributedTxPrepareRequest.java        |  58 +-
 .../GridDistributedTxPrepareResponse.java       |  24 +-
 .../GridDistributedTxRemoteAdapter.java         |  11 +-
 .../GridDistributedUnlockRequest.java           |  26 +-
 .../dht/GridDhtAffinityAssignmentRequest.java   |  22 +-
 .../dht/GridDhtAffinityAssignmentResponse.java  |  24 +-
 .../distributed/dht/GridDhtCacheAdapter.java    |  16 +-
 .../distributed/dht/GridDhtLockRequest.java     |  42 +-
 .../distributed/dht/GridDhtLockResponse.java    |  40 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |  42 +-
 .../dht/GridDhtTxFinishResponse.java            |  22 +-
 .../dht/GridDhtTxPrepareRequest.java            |  48 +-
 .../dht/GridDhtTxPrepareResponse.java           |  42 +-
 .../distributed/dht/GridDhtUnlockRequest.java   |  26 +-
 .../GridDhtAtomicDeferredUpdateResponse.java    |  26 +-
 .../dht/atomic/GridDhtAtomicUpdateRequest.java  |  92 +-
 .../dht/atomic/GridDhtAtomicUpdateResponse.java |  32 +-
 .../dht/atomic/GridNearAtomicUpdateFuture.java  |  44 +-
 .../dht/atomic/GridNearAtomicUpdateRequest.java |  78 +-
 .../atomic/GridNearAtomicUpdateResponse.java    |  54 +-
 .../dht/preloader/GridDhtForceKeysRequest.java  |  32 +-
 .../dht/preloader/GridDhtForceKeysResponse.java |  32 +-
 .../GridDhtPartitionDemandMessage.java          |  36 +-
 .../preloader/GridDhtPartitionExchangeId.java   |  27 +-
 .../GridDhtPartitionSupplyMessage.java          |  40 +-
 .../GridDhtPartitionsAbstractMessage.java       |  19 +-
 .../preloader/GridDhtPartitionsFullMessage.java |  24 +-
 .../GridDhtPartitionsSingleMessage.java         |  22 +-
 .../GridDhtPartitionsSingleRequest.java         |  18 +-
 .../distributed/near/GridNearAtomicCache.java   |   4 +-
 .../distributed/near/GridNearCacheAdapter.java  |   8 +-
 .../distributed/near/GridNearGetRequest.java    |  47 +-
 .../distributed/near/GridNearGetResponse.java   |  38 +-
 .../distributed/near/GridNearLockRequest.java   |  52 +-
 .../distributed/near/GridNearLockResponse.java  |  42 +-
 .../near/GridNearTxFinishRequest.java           |  32 +-
 .../near/GridNearTxFinishResponse.java          |  26 +-
 .../near/GridNearTxPrepareRequest.java          |  44 +-
 .../near/GridNearTxPrepareResponse.java         |  48 +-
 .../distributed/near/GridNearUnlockRequest.java |  18 +-
 .../cache/query/GridCacheQueryManager.java      |   2 +-
 .../cache/query/GridCacheQueryRequest.java      |  58 +-
 .../cache/query/GridCacheQueryResponse.java     |  40 +-
 .../continuous/CacheContinuousQueryManager.java |   4 +-
 .../cache/version/GridCacheVersion.java         |  29 +-
 .../clock/GridClockDeltaSnapshotMessage.java    |  28 +-
 .../processors/clock/GridClockDeltaVersion.java |  24 +-
 .../continuous/GridContinuousMessage.java       |  28 +-
 .../dataload/GridDataLoadRequest.java           |  50 +-
 .../dataload/GridDataLoadResponse.java          |  26 +-
 .../dataload/IgniteDataLoaderImpl.java          |   4 +-
 .../datastructures/GridCacheSetImpl.java        |   4 +-
 .../processors/igfs/IgfsAckMessage.java         |  26 +-
 .../internal/processors/igfs/IgfsBlockKey.java  |  28 +-
 .../processors/igfs/IgfsBlocksMessage.java      |  30 +-
 .../igfs/IgfsCommunicationMessage.java          |  18 +-
 .../processors/igfs/IgfsDeleteMessage.java      |  24 +-
 .../processors/igfs/IgfsFileAffinityRange.java  |  30 +-
 .../igfs/IgfsFragmentizerRequest.java           |  28 +-
 .../igfs/IgfsFragmentizerResponse.java          |  22 +-
 .../processors/igfs/IgfsSyncMessage.java        |  24 +-
 .../plugin/IgnitePluginProcessor.java           |   2 +-
 .../processors/query/GridQueryProcessor.java    |   4 +-
 .../handlers/cache/GridCacheCommandHandler.java |   4 +-
 .../cache/GridCacheQueryCommandHandler.java     |   4 +-
 .../handlers/task/GridTaskCommandHandler.java   |   4 +-
 .../handlers/task/GridTaskResultRequest.java    |  24 +-
 .../handlers/task/GridTaskResultResponse.java   |  28 +-
 .../top/GridTopologyCommandHandler.java         |   2 +-
 .../streamer/GridStreamerCancelRequest.java     |  22 +-
 .../streamer/GridStreamerContextImpl.java       |   2 +-
 .../streamer/GridStreamerExecutionRequest.java  |  38 +-
 .../streamer/GridStreamerResponse.java          |  24 +-
 .../processors/streamer/IgniteStreamerImpl.java |   4 +-
 .../ignite/internal/util/GridByteArrayList.java |  24 +-
 .../ignite/internal/util/GridLongList.java      |  24 +-
 .../ignite/internal/util/IgniteUtils.java       |  32 +-
 .../internal/util/future/GridFutureAdapter.java |   8 +-
 .../util/future/GridFutureAdapterEx.java        |   3 +-
 .../internal/util/ipc/IpcToNioAdapter.java      |   4 +-
 .../util/nio/GridCommunicationClient.java       |   2 +-
 .../internal/util/nio/GridDirectParser.java     |  33 +-
 .../internal/util/nio/GridNioMessageReader.java |   2 +-
 .../internal/util/nio/GridNioMessageWriter.java |   4 +-
 .../ignite/internal/util/nio/GridNioServer.java |  59 +-
 .../util/nio/GridShmemCommunicationClient.java  |   2 +-
 .../util/nio/GridTcpCommunicationClient.java    |   2 +-
 .../util/nio/GridTcpNioCommunicationClient.java |   2 +-
 .../visor/cache/VisorCacheClearTask.java        |   3 +-
 .../compute/VisorComputeCancelSessionsTask.java |   2 +-
 .../compute/VisorComputeResetMetricsTask.java   |   2 +-
 .../VisorComputeToggleMonitoringTask.java       |   2 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |   4 +-
 .../node/VisorNodeEventsCollectorTask.java      |   2 +-
 .../internal/visor/node/VisorNodePingTask.java  |   2 +-
 .../visor/query/VisorQueryCleanupTask.java      |   3 +-
 .../visor/query/VisorQueryNextPageTask.java     |   6 +-
 .../internal/visor/query/VisorQueryTask.java    |  10 +-
 .../optimized/optimized-classnames.properties   |  24 +-
 .../extensions/communication/Message.java       |  58 ++
 .../communication/MessageAdapter.java           | 143 ---
 .../MessageCollectionItemType.java              | 101 +++
 .../communication/MessageFactory.java           |   4 +-
 .../communication/MessageFormatter.java         |   3 +-
 .../extensions/communication/MessageReader.java |  24 +-
 .../extensions/communication/MessageWriter.java |  26 +-
 .../jobstealing/JobStealingRequest.java         |  22 +-
 .../communication/tcp/TcpCommunicationSpi.java  |  80 +-
 .../core/src/main/resources/ignite.properties   |   3 +-
 .../ignite/IgniteCacheAffinitySelfTest.java     |   8 +-
 .../IgniteCacheExpiryStoreLoadSelfTest.java     |  81 +-
 .../ignite/internal/ClusterMetricsSelfTest.java |   2 +-
 .../GridJobMasterLeaveAwareSelfTest.java        |  12 +-
 .../internal/GridMultipleJobsSelfTest.java      |   2 +-
 .../internal/GridProjectionAbstractTest.java    |   2 +-
 .../ignite/internal/GridProjectionSelfTest.java |   2 +-
 .../apache/ignite/internal/GridSelfTest.java    |  15 +-
 .../GridCommunicationSendMessageSelfTest.java   |  13 +-
 .../communication/GridIoManagerSelfTest.java    |  18 +-
 .../GridDeploymentMessageCountSelfTest.java     |   2 +-
 .../GridAffinityProcessorAbstractSelfTest.java  |   7 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  28 +-
 .../cache/GridCacheAffinityApiSelfTest.java     |  18 +-
 .../GridCacheAtomicMessageCountSelfTest.java    |   2 +-
 .../cache/GridCacheEntryMemorySizeSelfTest.java |   4 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |   2 +-
 ...ridCacheReplicatedSynchronousCommitTest.java |   2 +-
 .../IgniteCacheAbstractStopBusySelfTest.java    |   5 +-
 .../cache/IgniteTxReentryAbstractSelfTest.java  |   2 +-
 ...ridCacheQueueJoinedNodeSelfAbstractTest.java |   4 +-
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   4 +-
 ...dCacheSequenceMultiNodeAbstractSelfTest.java |   4 +-
 ...dCachePartitionedQueueEntryMoveSelfTest.java |   2 +-
 .../GridCacheAbstractJobExecutionTest.java      |  13 +-
 .../GridCacheAtomicTimeoutSelfTest.java         |   3 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |   2 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |   2 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |   2 +-
 ...GridCacheDhtEvictionNearReadersSelfTest.java |   4 +-
 .../dht/GridCacheDhtEvictionSelfTest.java       |   2 +-
 .../dht/GridCacheDhtInternalEntrySelfTest.java  |   2 +-
 .../GridCacheDhtPreloadMessageCountTest.java    |   2 +-
 ...eAtomicInvalidPartitionHandlingSelfTest.java |   2 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |   4 +-
 .../near/GridCacheNearReadersSelfTest.java      |  18 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |  12 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |   4 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |   2 +-
 ...hePartitionedQueryMultiThreadedSelfTest.java |   2 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |   2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |   2 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |  14 +-
 .../closure/GridClosureProcessorRemoteTest.java |   2 +-
 .../closure/GridClosureProcessorSelfTest.java   |  14 +-
 .../continuous/GridEventConsumeSelfTest.java    |  18 +-
 .../continuous/GridMessageListenSelfTest.java   |  14 +-
 .../processors/igfs/IgfsSizeSelfTest.java       |   4 +-
 .../processors/igfs/IgfsStreamsSelfTest.java    |   2 +-
 .../GridServiceReassignmentSelfTest.java        |   2 +-
 .../communication/GridIoManagerBenchmark0.java  |   6 +-
 .../communication/GridTestMessage.java          |   9 +-
 .../marshaller/GridMarshallerAbstractTest.java  |  14 +-
 .../ignite/messaging/GridMessagingSelfTest.java |   3 +-
 .../spi/GridTcpSpiForwardingSelfTest.java       |   4 +-
 .../GridAbstractCommunicationSelfTest.java      |  22 +-
 .../spi/communication/GridTestMessage.java      |  25 +-
 .../tcp/GridCacheDhtLockBackupSelfTest.java     |   4 +-
 .../GridTcpCommunicationSpiAbstractTest.java    |   2 +-
 ...mmunicationSpiConcurrentConnectSelfTest.java |  16 +-
 .../tcp/GridTcpCommunicationSpiLanTest.java     |   4 +-
 ...cpCommunicationSpiMultithreadedSelfTest.java |  22 +-
 ...dTcpCommunicationSpiRecoveryAckSelfTest.java |  10 +-
 ...GridTcpCommunicationSpiRecoverySelfTest.java |  10 +-
 .../tcp/TcpDiscoverySpiWildcardSelfTest.java    |   2 +-
 .../testframework/GridSpiTestContext.java       |   6 +-
 .../testframework/junits/GridAbstractTest.java  |   4 +-
 modules/hadoop/pom.xml                          |   6 -
 .../IgfsHadoop20FileSystemAbstractSelfTest.java |   2 +-
 ...idHadoopDefaultMapReducePlannerSelfTest.java | 227 +----
 .../GridCacheAbstractFieldsQuerySelfTest.java   |   7 +-
 .../cache/GridCacheQueryMetricsSelfTest.java    |   4 +-
 .../near/GridCachePartitionedQuerySelfTest.java |   4 +-
 .../GridCacheReplicatedFieldsQuerySelfTest.java |   2 +-
 .../tcp/GridOrderedMessageCancelSelfTest.java   |   6 +-
 .../resource/GridServiceInjectionSelfTest.java  |   4 +-
 .../visor/commands/ack/VisorAckCommand.scala    |   4 +-
 .../commands/alert/VisorAlertCommand.scala      |  11 +-
 .../commands/cache/VisorCacheClearCommand.scala |   4 +-
 .../commands/cache/VisorCacheCommand.scala      |   6 +-
 .../cache/VisorCacheCompactCommand.scala        |   4 +-
 .../commands/cache/VisorCacheScanCommand.scala  |   4 +-
 .../commands/cache/VisorCacheSwapCommand.scala  |   4 +-
 .../config/VisorConfigurationCommand.scala      |   4 +-
 .../commands/disco/VisorDiscoveryCommand.scala  |   6 +-
 .../commands/events/VisorEventsCommand.scala    |   4 +-
 .../visor/commands/gc/VisorGcCommand.scala      |   4 +-
 .../visor/commands/kill/VisorKillCommand.scala  |  12 +-
 .../visor/commands/node/VisorNodeCommand.scala  |   2 +-
 .../visor/commands/ping/VisorPingCommand.scala  |   4 +-
 .../commands/start/VisorStartCommand.scala      |   4 +-
 .../commands/tasks/VisorTasksCommand.scala      |  12 +-
 .../commands/top/VisorTopologyCommand.scala     |   4 +-
 .../visor/commands/vvm/VisorVvmCommand.scala    |   6 +-
 .../scala/org/apache/ignite/visor/visor.scala   |  32 +-
 pom.xml                                         |   2 +-
 readme.md                                       |   2 -
 278 files changed, 5109 insertions(+), 4121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/493775aa/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------


[17/20] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-11' into sprint-2

Posted by ak...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-11' into sprint-2


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c9f46c1b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c9f46c1b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c9f46c1b

Branch: refs/heads/ignite-339
Commit: c9f46c1b39577c82d1084f13ffedb965a8e2c83c
Parents: 036bd71 6130f7e
Author: sevdokimov <se...@jetbrains.com>
Authored: Sun Mar 1 22:59:09 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Sun Mar 1 22:59:09 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/util/IgniteUtils.java       |  90 ++++++++++--
 .../spi/discovery/tcp/TcpDiscoverySpi.java      | 137 +++++++++++--------
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 116 ++++++++++++++++
 3 files changed, 275 insertions(+), 68 deletions(-)
----------------------------------------------------------------------



[13/20] incubator-ignite git commit: IGNITE-377 Rework schema load XML generator to generate instead of int number.

Posted by ak...@apache.org.
 IGNITE-377 Rework schema load XML generator to generate <util:constant static-field="java.sql.Types.XXX"/> instead of int number.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/061ea8ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/061ea8ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/061ea8ae

Branch: refs/heads/ignite-339
Commit: 061ea8aed7f43a47b5097f3c626701c688014e63
Parents: 6097e7b
Author: AKuznetsov <ak...@gridgain.com>
Authored: Sun Mar 1 00:17:19 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Sun Mar 1 00:17:19 2015 +0700

----------------------------------------------------------------------
 .../core/src/test/config/store/jdbc/Ignite.xml  |  63 ++++++---
 .../ignite/schema/generator/XmlGenerator.java   |   8 +-
 .../apache/ignite/schema/model/PojoField.java   |  11 +-
 .../apache/ignite/schema/load/model/Ignite.xml  | 133 ++++++++++++++-----
 .../yardstick/config/ignite-store-config.xml    |  15 ++-
 5 files changed, 168 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/061ea8ae/modules/core/src/test/config/store/jdbc/Ignite.xml
----------------------------------------------------------------------
diff --git a/modules/core/src/test/config/store/jdbc/Ignite.xml b/modules/core/src/test/config/store/jdbc/Ignite.xml
index 1b6f702..d56b4e6 100644
--- a/modules/core/src/test/config/store/jdbc/Ignite.xml
+++ b/modules/core/src/test/config/store/jdbc/Ignite.xml
@@ -21,9 +21,12 @@
     XML generated by Apache Ignite Schema Load utility: 02/03/2015
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:util="http://www.springframework.org/schema/util"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           http://www.springframework.org/schema/beans/spring-beans.xsd">
+                           http://www.springframework.org/schema/beans/spring-beans.xsd
+                           http://www.springframework.org/schema/util
+                           http://www.springframework.org/schema/util/spring-util.xsd">
     <bean class="org.apache.ignite.cache.CacheTypeMetadata">
         <property name="databaseSchema" value="PUBLIC"/>
         <property name="databaseTable" value="ORGANIZATION"/>
@@ -33,7 +36,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
@@ -43,24 +48,31 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="NAME"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="name"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="CITY"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="city"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>
             </list>
         </property>
+
     </bean>
     <bean class="org.apache.ignite.cache.CacheTypeMetadata">
         <property name="databaseSchema" value="PUBLIC"/>
@@ -71,7 +83,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
@@ -81,24 +95,31 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ORG_ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="orgId"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="NAME"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="name"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>
             </list>
         </property>
+
     </bean>
     <bean class="org.apache.ignite.cache.CacheTypeMetadata">
         <property name="databaseSchema" value="PUBLIC"/>
@@ -109,19 +130,25 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="int"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ORG_ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="orgId"/>
                     <property name="javaType" value="int"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="CITY_ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="cityId"/>
                     <property name="javaType" value="int"/>
                 </bean>
@@ -131,19 +158,25 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ORG_ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="orgId"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="NAME"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="name"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/061ea8ae/modules/schema-load/src/main/java/org/apache/ignite/schema/generator/XmlGenerator.java
----------------------------------------------------------------------
diff --git a/modules/schema-load/src/main/java/org/apache/ignite/schema/generator/XmlGenerator.java b/modules/schema-load/src/main/java/org/apache/ignite/schema/generator/XmlGenerator.java
index d4d7054..c62a720 100644
--- a/modules/schema-load/src/main/java/org/apache/ignite/schema/generator/XmlGenerator.java
+++ b/modules/schema-load/src/main/java/org/apache/ignite/schema/generator/XmlGenerator.java
@@ -159,7 +159,8 @@ public class XmlGenerator {
                 Element item = addBean(doc, list, CacheTypeFieldMetadata.class);
 
                 addProperty(doc, item, "databaseName", field.dbName());
-                addProperty(doc, item, "databaseType", String.valueOf(field.dbType()));
+                Element dbType = addProperty(doc, item, "databaseType", null);
+                addElement(doc, dbType, "util:constant", "static-field", "java.sql.Types." + field.dbTypeName());
                 addProperty(doc, item, "javaName", field.javaName());
                 addProperty(doc, item, "javaType", field.javaTypeName());
             }
@@ -308,9 +309,12 @@ public class XmlGenerator {
             Element beans = addElement(doc, doc, "beans");
             beans.setAttribute("xmlns", "http://www.springframework.org/schema/beans");
             beans.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
+            beans.setAttribute("xmlns:util", "http://www.springframework.org/schema/util");
             beans.setAttribute("xsi:schemaLocation",
                 "http://www.springframework.org/schema/beans " +
-                "http://www.springframework.org/schema/beans/spring-beans.xsd");
+                "http://www.springframework.org/schema/beans/spring-beans.xsd " +
+                "http://www.springframework.org/schema/util " +
+                "http://www.springframework.org/schema/util/spring-util.xsd");
 
             for (PojoDescriptor pojo : pojos)
                 addTypeMetadata(doc, beans, pkg, pojo, includeKeys);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/061ea8ae/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
----------------------------------------------------------------------
diff --git a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
index f9a5837..10939d9 100644
--- a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
+++ b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
@@ -45,9 +45,6 @@ public class PojoField {
     /** Field name in database. */
     private final StringProperty dbNameProp;
 
-    /** JDBC field type in database. */
-    private final int dbType;
-
     /** Field type in database. */
     private final StringProperty dbTypeNameProp;
 
@@ -139,8 +136,6 @@ public class PojoField {
     public PojoField(String dbName, int dbType, String javaName, String javaTypeName, boolean key, boolean nullable) {
         dbNameProp = new SimpleStringProperty(dbName);
 
-        this.dbType = dbType;
-
         dbTypeNameProp = new SimpleStringProperty(jdbcTypeName(dbType));
 
         javaNamePrev = javaName;
@@ -340,10 +335,10 @@ public class PojoField {
     }
 
     /**
-     * @return POJO field JDBC type in database.
+     * @return POJO field JDBC type name in database.
      */
-    public int dbType() {
-        return dbType;
+    public String dbTypeName() {
+        return dbTypeNameProp.get();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/061ea8ae/modules/schema-load/src/test/java/org/apache/ignite/schema/load/model/Ignite.xml
----------------------------------------------------------------------
diff --git a/modules/schema-load/src/test/java/org/apache/ignite/schema/load/model/Ignite.xml b/modules/schema-load/src/test/java/org/apache/ignite/schema/load/model/Ignite.xml
index 8690dbd..f0b5696 100644
--- a/modules/schema-load/src/test/java/org/apache/ignite/schema/load/model/Ignite.xml
+++ b/modules/schema-load/src/test/java/org/apache/ignite/schema/load/model/Ignite.xml
@@ -21,9 +21,12 @@
     XML generated by Apache Ignite Schema Load utility: 02/05/2015
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:util="http://www.springframework.org/schema/util"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           http://www.springframework.org/schema/beans/spring-beans.xsd">
+                           http://www.springframework.org/schema/beans/spring-beans.xsd
+                           http://www.springframework.org/schema/util
+                           http://www.springframework.org/schema/util/spring-util.xsd">
     <bean class="org.apache.ignite.cache.CacheTypeMetadata">
         <property name="databaseSchema" value="PUBLIC"/>
         <property name="databaseTable" value="OBJECTS"/>
@@ -33,7 +36,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="PK"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="pk"/>
                     <property name="javaType" value="int"/>
                 </bean>
@@ -43,91 +48,121 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="PK"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="pk"/>
                     <property name="javaType" value="int"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BOOLCOL"/>
-                    <property name="databaseType" value="16"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.BOOLEAN"/>
+                    </property>
                     <property name="javaName" value="boolcol"/>
                     <property name="javaType" value="java.lang.Boolean"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BYTECOL"/>
-                    <property name="databaseType" value="-6"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TINYINT"/>
+                    </property>
                     <property name="javaName" value="bytecol"/>
                     <property name="javaType" value="java.lang.Byte"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="SHORTCOL"/>
-                    <property name="databaseType" value="5"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.SMALLINT"/>
+                    </property>
                     <property name="javaName" value="shortcol"/>
                     <property name="javaType" value="java.lang.Short"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="INTCOL"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="intcol"/>
                     <property name="javaType" value="java.lang.Integer"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="LONGCOL"/>
-                    <property name="databaseType" value="-5"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.BIGINT"/>
+                    </property>
                     <property name="javaName" value="longcol"/>
                     <property name="javaType" value="java.lang.Long"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="FLOATCOL"/>
-                    <property name="databaseType" value="7"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.REAL"/>
+                    </property>
                     <property name="javaName" value="floatcol"/>
                     <property name="javaType" value="java.lang.Float"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DOUBLECOL"/>
-                    <property name="databaseType" value="8"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DOUBLE"/>
+                    </property>
                     <property name="javaName" value="doublecol"/>
                     <property name="javaType" value="java.lang.Double"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DOUBLECOL2"/>
-                    <property name="databaseType" value="8"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DOUBLE"/>
+                    </property>
                     <property name="javaName" value="doublecol2"/>
                     <property name="javaType" value="java.lang.Double"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BIGDECIMALCOL"/>
-                    <property name="databaseType" value="3"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DECIMAL"/>
+                    </property>
                     <property name="javaName" value="bigdecimalcol"/>
                     <property name="javaType" value="java.math.BigDecimal"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="STRCOL"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="strcol"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DATECOL"/>
-                    <property name="databaseType" value="91"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DATE"/>
+                    </property>
                     <property name="javaName" value="datecol"/>
                     <property name="javaType" value="java.sql.Date"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="TIMECOL"/>
-                    <property name="databaseType" value="92"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TIME"/>
+                    </property>
                     <property name="javaName" value="timecol"/>
                     <property name="javaType" value="java.sql.Time"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="TSCOL"/>
-                    <property name="databaseType" value="93"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TIMESTAMP"/>
+                    </property>
                     <property name="javaName" value="tscol"/>
                     <property name="javaType" value="java.sql.Timestamp"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ARRCOL"/>
-                    <property name="databaseType" value="-3"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARBINARY"/>
+                    </property>
                     <property name="javaName" value="arrcol"/>
                     <property name="javaType" value="java.lang.Object"/>
                 </bean>
@@ -181,7 +216,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="PK"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="pk"/>
                     <property name="javaType" value="int"/>
                 </bean>
@@ -191,91 +228,121 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="PK"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="pk"/>
                     <property name="javaType" value="int"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BOOLCOL"/>
-                    <property name="databaseType" value="16"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.BOOLEAN"/>
+                    </property>
                     <property name="javaName" value="boolcol"/>
                     <property name="javaType" value="boolean"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BYTECOL"/>
-                    <property name="databaseType" value="-6"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TINYINT"/>
+                    </property>
                     <property name="javaName" value="bytecol"/>
                     <property name="javaType" value="byte"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="SHORTCOL"/>
-                    <property name="databaseType" value="5"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.SMALLINT"/>
+                    </property>
                     <property name="javaName" value="shortcol"/>
                     <property name="javaType" value="short"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="INTCOL"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="intcol"/>
                     <property name="javaType" value="int"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="LONGCOL"/>
-                    <property name="databaseType" value="-5"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.BIGINT"/>
+                    </property>
                     <property name="javaName" value="longcol"/>
                     <property name="javaType" value="long"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="FLOATCOL"/>
-                    <property name="databaseType" value="7"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.REAL"/>
+                    </property>
                     <property name="javaName" value="floatcol"/>
                     <property name="javaType" value="float"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DOUBLECOL"/>
-                    <property name="databaseType" value="8"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DOUBLE"/>
+                    </property>
                     <property name="javaName" value="doublecol"/>
                     <property name="javaType" value="double"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DOUBLECOL2"/>
-                    <property name="databaseType" value="8"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DOUBLE"/>
+                    </property>
                     <property name="javaName" value="doublecol2"/>
                     <property name="javaType" value="double"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="BIGDECIMALCOL"/>
-                    <property name="databaseType" value="3"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DECIMAL"/>
+                    </property>
                     <property name="javaName" value="bigdecimalcol"/>
                     <property name="javaType" value="java.math.BigDecimal"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="STRCOL"/>
-                    <property name="databaseType" value="12"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARCHAR"/>
+                    </property>
                     <property name="javaName" value="strcol"/>
                     <property name="javaType" value="java.lang.String"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="DATECOL"/>
-                    <property name="databaseType" value="91"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.DATE"/>
+                    </property>
                     <property name="javaName" value="datecol"/>
                     <property name="javaType" value="java.sql.Date"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="TIMECOL"/>
-                    <property name="databaseType" value="92"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TIME"/>
+                    </property>
                     <property name="javaName" value="timecol"/>
                     <property name="javaType" value="java.sql.Time"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="TSCOL"/>
-                    <property name="databaseType" value="93"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.TIMESTAMP"/>
+                    </property>
                     <property name="javaName" value="tscol"/>
                     <property name="javaType" value="java.sql.Timestamp"/>
                 </bean>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ARRCOL"/>
-                    <property name="databaseType" value="-3"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.VARBINARY"/>
+                    </property>
                     <property name="javaName" value="arrcol"/>
                     <property name="javaType" value="java.lang.Object"/>
                 </bean>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/061ea8ae/modules/yardstick/config/ignite-store-config.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/ignite-store-config.xml b/modules/yardstick/config/ignite-store-config.xml
index 161cfa5..066b246 100644
--- a/modules/yardstick/config/ignite-store-config.xml
+++ b/modules/yardstick/config/ignite-store-config.xml
@@ -21,9 +21,12 @@
     Ignite Spring configuration file to startup grid.
 -->
 <beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:util="http://www.springframework.org/schema/util"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                           http://www.springframework.org/schema/beans/spring-beans.xsd
+                           http://www.springframework.org/schema/util
+                           http://www.springframework.org/schema/util/spring-util.xsd">
     <!--
         Store data source.
     -->
@@ -45,7 +48,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="ID"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="int"/>
                 </bean>
@@ -55,7 +60,9 @@
             <list>
                 <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata">
                     <property name="databaseName" value="VALUE"/>
-                    <property name="databaseType" value="4"/>
+                    <property name="databaseType">
+                        <util:constant static-field="java.sql.Types.INTEGER"/>
+                    </property>
                     <property name="javaName" value="id"/>
                     <property name="javaType" value="int"/>
                 </bean>


[15/20] incubator-ignite git commit: # sprint-2 - fixing comments.

Posted by ak...@apache.org.
# sprint-2 - fixing comments.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3a77acf7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3a77acf7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3a77acf7

Branch: refs/heads/ignite-339
Commit: 3a77acf759cd30bbb7bdcb51ab8e1bcecb273639
Parents: 16105ec
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Sat Feb 28 09:49:15 2015 -0800
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Sat Feb 28 09:49:15 2015 -0800

----------------------------------------------------------------------
 .../ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3a77acf7/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
index 0473280..55ba1a7 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
@@ -131,7 +131,8 @@ public class CacheJdbcPersonStore extends CacheStoreAdapter<Long, Person> {
 
             int updated;
 
-            // Try update first.
+            // Try update first. If it does not work, then try insert.
+            // Some databases would allow these to be done in one 'upsert' operation.
             try (PreparedStatement st = conn.prepareStatement(
                 "update PERSONS set firstName=?, lastName=? where id=?")) {
                 st.setString(1, val.getFirstName());


[11/20] incubator-ignite git commit: # sprint-2 - javadoc fixes.

Posted by ak...@apache.org.
# sprint-2 - javadoc fixes.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a14ef183
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a14ef183
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a14ef183

Branch: refs/heads/ignite-339
Commit: a14ef18335ad5f6c78c35b711f4bd8d5a40f6910
Parents: 375376b
Author: Dmitiry Setrakyan <ds...@gridgain.com>
Authored: Sat Feb 28 00:19:58 2015 -0500
Committer: Dmitiry Setrakyan <ds...@gridgain.com>
Committed: Sat Feb 28 00:19:58 2015 -0500

----------------------------------------------------------------------
 .../org/apache/ignite/cache/store/CacheStoreAdapter.java     | 2 +-
 .../org/apache/ignite/cache/store/CacheStoreSession.java     | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a14ef183/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreAdapter.java b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreAdapter.java
index 794281b..58a3f76 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreAdapter.java
@@ -39,7 +39,7 @@ import java.util.*;
 public abstract class CacheStoreAdapter<K, V> implements CacheStore<K, V> {
     /**
      * Default empty implementation. This method needs to be overridden only if
-     * {@link org.apache.ignite.cache.GridCache#loadCache(IgniteBiPredicate, long, Object...)} method
+     * {@link org.apache.ignite.IgniteCache#loadCache(IgniteBiPredicate, Object...)} method
      * is explicitly called.
      *
      * @param clo {@inheritDoc}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a14ef183/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
index 0bfc6fc..a2be4c5 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/CacheStoreSession.java
@@ -23,7 +23,13 @@ import org.apache.ignite.transactions.*;
 import java.util.*;
 
 /**
- * Session for the cache store operations.
+ * Session for the cache store operations. The main purpose of cache store session
+ * is to hold context between multiple store invocations whenever in transaction. For example,
+ * if using JDBC, you can store the ongoing database connection in the session {@link #properties()} map.
+ * You can then commit this connection in the {@link CacheStore#txEnd(boolean)} method.
+ * <p>
+ * {@code CacheStoreSession} can be injected into an implementation of {@link CacheStore} with
+ * {@link CacheStoreSessionResource @CacheStoreSessionResource} annotation.
  *
  * @see CacheStoreSessionResource
  */


[02/20] incubator-ignite git commit: # IGNITE-11 Use Executors.newFixedThreadPool() to create executor service.

Posted by ak...@apache.org.
# IGNITE-11 Use Executors.newFixedThreadPool() to create executor service.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e7171b06
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e7171b06
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e7171b06

Branch: refs/heads/ignite-339
Commit: e7171b064457e50ce141261f0946326f4165f565
Parents: a9ecd99
Author: sevdokimov <se...@jetbrains.com>
Authored: Sun Feb 22 13:10:25 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Sun Feb 22 13:10:25 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e7171b06/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index 87ee2fe..6bd50d6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -1030,8 +1030,7 @@ abstract class TcpDiscoverySpiAdapter extends IgniteSpiAdapter implements Discov
         public SocketMultiConnector(Collection<InetSocketAddress> addrs, final int retryCnt) {
             connInProgress = addrs.size();
 
-            executor = new ThreadPoolExecutor(0, 10, 1L, TimeUnit.MILLISECONDS,
-                new SynchronousQueue<Runnable>());
+            executor = Executors.newFixedThreadPool(Math.min(10, addrs.size()));
 
             for (final InetSocketAddress addr : addrs) {
                 executor.execute(new Runnable() {