You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexey Kuznetsov (JIRA)" <ji...@apache.org> on 2018/06/13 04:20:00 UTC

[jira] [Created] (IGNITE-8777) REST: metadata command failed on cluster of size 1.

Alexey Kuznetsov created IGNITE-8777:
----------------------------------------

             Summary: REST: metadata command failed on cluster of size 1.
                 Key: IGNITE-8777
                 URL: https://issues.apache.org/jira/browse/IGNITE-8777
             Project: Ignite
          Issue Type: Improvement
          Components: rest
    Affects Versions: 2.5
            Reporter: Alexey Kuznetsov


Start *only one *node.
Execute REST command: http://localhost:8080/ignite?cmd=getorcreate&cacheName=myNewPartionedCache&backups=2
Cache will be created.

Execute http://localhost:8080/ignite?cmd=metadata&cacheName=myNewPartionedCache
Error will be returned:  {“successStatus”:1,“error”:“Failed to handle request: [req=CACHE_METADATA, err=Failed to request meta data. myNewPartionedCache is not found]“,”response”:null,“sessionToken”:null}

After some debug, I see in code GridCacheCommandHandler.MetadataTask#map:
{code}
...
for (int i = 1; i < subgrid.size(); i++) {
 ....
}

if (map.isEmpty())
                    throw new IgniteException("Failed to request meta data. " + cacheName + " is not found");
...
{code}

So, in case of cluster with only one node this code will throw exception.

I guess the fix should be - just replace "int i = 1" with "int i = 0".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)