Alexey Kuznetsov created IGNITE-8777:

             Summary: REST: metadata command failed on cluster of size 1.
                 Key: IGNITE-8777
             Project: Ignite
          Issue Type: Improvement
          Components: rest
    Affects Versions: 2.5
            Reporter: Alexey Kuznetsov

Start *only one *node.
Execute REST command: 
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:
for (int i = 1; i < subgrid.size(); i++) {

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

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

Reply via email to