Repository: ignite Updated Branches: refs/heads/ignite-zk 70bc10ba2 -> 38209f45e
IGNITE-4585 Support CLEAR command with REST Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/06458b95 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/06458b95 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/06458b95 Branch: refs/heads/ignite-zk Commit: 06458b954332d7d075029a5619e1649a6260b0c3 Parents: a9b0265 Author: samaitra <[email protected]> Authored: Mon Dec 25 23:42:18 2017 -0600 Committer: samaitra <[email protected]> Committed: Mon Dec 25 23:42:18 2017 -0600 ---------------------------------------------------------------------- .../processors/rest/GridRestProcessor.java | 2 ++ .../handlers/cache/GridCacheCommandHandler.java | 4 +-- .../cache/GridCacheCommandHandlerSelfTest.java | 29 ++++++++++++++++++++ .../http/jetty/GridJettyRestHandler.java | 1 + 4 files changed, 34 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java index 64ab173..17e443c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java @@ -621,6 +621,7 @@ public class GridRestProcessor extends GridProcessorAdapter { case CACHE_PUT_ALL: case CACHE_REMOVE: case CACHE_REMOVE_ALL: + case CACHE_CLEAR: case CACHE_REPLACE: case ATOMIC_INCREMENT: case ATOMIC_DECREMENT: @@ -776,6 +777,7 @@ public class GridRestProcessor extends GridProcessorAdapter { case CACHE_REMOVE: case CACHE_REMOVE_ALL: + case CACHE_CLEAR: case CACHE_GET_AND_REMOVE: case CACHE_REMOVE_VALUE: perm = SecurityPermission.CACHE_REMOVE; http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java index d627b20..6ecdbfc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java @@ -546,7 +546,7 @@ public class GridCacheCommandHandler extends GridRestCommandHandlerAdapter { case CACHE_REMOVE_ALL: { Map<Object, Object> map = req0.values(); - // HashSet wrapping for correct serialization + // HashSet wrapping for correct serializationclear Set<Object> keys = map == null ? null : new HashSet<>(map.keySet()); fut = executeCommand(req.destinationId(), req.clientId(), cacheName, skipStore, key, @@ -560,7 +560,7 @@ public class GridCacheCommandHandler extends GridRestCommandHandlerAdapter { // HashSet wrapping for correct serialization Set<Object> cacheNames = map == null ? - new HashSet<Object>(ctx.cache().publicCaches()) : new HashSet<>(map.keySet()); + new HashSet<Object>(ctx.cache().publicCacheNames()) : new HashSet<>(map.keySet()); GridCompoundFuture compFut = new GridCompoundFuture(); http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java index a5718b8..e34992f 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandlerSelfTest.java @@ -213,6 +213,35 @@ public class GridCacheCommandHandlerSelfTest extends GridCommonAbstractTest { } /** + * Tests the execution of the CACHE_CLEAR command. + * + * @throws Exception If failed. + */ + public void testCacheClear() throws Exception { + GridRestCommandHandler hnd = new GridCacheCommandHandler(((IgniteKernal)grid()).context()); + + GridRestCacheRequest req = new GridRestCacheRequest(); + + req.cacheName(DEFAULT_CACHE_NAME); + + req.command(GridRestCommand.CACHE_CLEAR); + + try { + // Change cache state. + for (int i = 0; i < 10; i++ ) { + jcache().put(UUID.randomUUID().toString(), UUID.randomUUID().toString()); + } + + assertTrue(jcache().size() == 10); + + assertTrue((Boolean) hnd.handleAsync(req).get().getResponse()); + } + finally { + assertTrue(jcache().size() == 0); + } + } + + /** * Test command handler. */ private static class TestableCacheCommandHandler extends GridCacheCommandHandler { http://git-wip-us.apache.org/repos/asf/ignite/blob/06458b95/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java ---------------------------------------------------------------------- diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java index b8a42f3..b7f0d45 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java @@ -439,6 +439,7 @@ public class GridJettyRestHandler extends AbstractHandler { case CACHE_REPLACE_VALUE: case CACHE_GET_AND_REMOVE: case CACHE_REMOVE_ALL: + case CACHE_CLEAR: case CACHE_ADD: case CACHE_CAS: case CACHE_METRICS:
