[ https://issues.apache.org/jira/browse/IGNITE-1243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Kozlov updated IGNITE-1243: ---------------------------------- Description: HTTP REST: top command returns wrong result via a client node if all server nodes left from topology: last server node is still in response. Steps to repeat 1. Create client node config: copy examples/config/example-ignite.xml to examples/config/example-ignite-client.xml and set client mode: {code:title=examples/config/example-ignite-client.xml|borderStyle=solid} ... <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> <!-- Set to true to enable distributed class loading for examples, default is false. --> <property name="clientMode" value="true"/> <property name="peerClassLoadingEnabled" value="true"/> ... {code} 2. Copy libs/optional/ignite-rest-http directory into libs 3. Start two server nodes with example-ignite.xml: bin/ignite.sh examples/config/example-ignite.xml 4. Start client node with example-ignite-client.xml: bin/ignite.sh examples/config/example-ignite.xml 5. Now all nodes should print out following topology: {noformat} Topology snapshot [ver=3, servers=2, clients=1, CPUs=8, heap=3.0GB] {noformat} 5. Open url http://127.0.0.1:8082/ignite?cmd=top in your browser The response should be following {noformat} {"error":"","response":[{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47500","defaultCacheMode":"","metrics":null,"nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae","tcpAddresses":["127.0.0.1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","0:0:0:0:0:0:0:1","10.0.0.9"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11211},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47501","defaultCacheMode":"","metrics":null,"nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b","tcpAddresses":["0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","10.0.0.9","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11212},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:0","defaultCacheMode":"","metrics":null,"nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2","tcpAddresses":["10.0.0.9","0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11213}],"sessionToken":"","successStatus":0} {noformat} Take a look on NodeID. There're same strings as node ids printed out in node log (or on node console if node started with option -v): {noformat} {"error":"","response":[ ..."nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae", ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", ..."nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2", ..."sessionToken":"","successStatus":0} {noformat} 6. Stop both server nodes and open the url http://127.0.0.1:8082/ignite?cmd=top again: {noformat} {"error":"","response":[ ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", ..."nodeId":"8d4c80da-3e64-43ff-aff0-112e45afa73f",], ..."sessionToken":"","successStatus":0} {noformat} First nodeid points out on disconnected server node, second one is non-existing id and there's no client node id. was: HTTP REST: top command returns wrong result via a client node if all server nodes left from topology: last server node is still in response. Steps to repeat 1. Create client node config: copy examples/config/example-ignite.xml to examples/config/example-ignite-client.xml and set client mode: {code:title=examples/config/example-ignite-client.xml|borderStyle=solid} ... <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> <!-- Set to true to enable distributed class loading for examples, default is false. --> <property name="clientMode" value="true"/> <property name="peerClassLoadingEnabled" value="true"/> ... {code} 2. Copy libs/optional/ignite-rest-http directory into libs 3. Start two server nodes with example-ignite.xml: bin/ignite.sh examples/config/example-ignite.xml 4. Start client node with example-ignite-client.xml: bin/ignite.sh examples/config/example-ignite.xml 5. Now all nodes should print out following topology: {noformat} Topology snapshot [ver=3, servers=2, clients=1, CPUs=8, heap=3.0GB] {noformat} 5. Open url http://127.0.0.1:8082/ignite?cmd=top in your browser The response should be following {noformat} {"error":"","response":[{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47500","defaultCacheMode":"","metrics":null,"nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae","tcpAddresses":["127.0.0.1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","0:0:0:0:0:0:0:1","10.0.0.9"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11211},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47501","defaultCacheMode":"","metrics":null,"nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b","tcpAddresses":["0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","10.0.0.9","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11212},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:0","defaultCacheMode":"","metrics":null,"nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2","tcpAddresses":["10.0.0.9","0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11213}],"sessionToken":"","successStatus":0} {noformat} Take a look on NodeID. There're same as node id printed out on node log (or console output if node started with option -v): {noformat} {"error":"","response":[ ..."nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae", ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", ..."nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2", ..."sessionToken":"","successStatus":0} {noformat} 6. Stop both servee nodes and open the urlhttp://127.0.0.1:8082/ignite?cmd=top again: {noformat} {"error":"","response":[ ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", ..."nodeId":"8d4c80da-3e64-43ff-aff0-112e45afa73f",], ..."sessionToken":"","successStatus":0} {noformat} First nodeid points out on disconnected server node, second one is non-existing id and there's no client node id. > HTTP REST: top command returns wrong result > -------------------------------------------- > > Key: IGNITE-1243 > URL: https://issues.apache.org/jira/browse/IGNITE-1243 > Project: Ignite > Issue Type: Bug > Affects Versions: ignite-1.4 > Reporter: Sergey Kozlov > Priority: Minor > Labels: newbie > Fix For: ignite-1.5 > > > HTTP REST: top command returns wrong result via a client node if all server > nodes left from topology: last server node is still in response. > Steps to repeat > 1. Create client node config: copy examples/config/example-ignite.xml to > examples/config/example-ignite-client.xml and set client mode: > {code:title=examples/config/example-ignite-client.xml|borderStyle=solid} > ... > <bean id="ignite.cfg" > class="org.apache.ignite.configuration.IgniteConfiguration"> > <!-- Set to true to enable distributed class loading for examples, > default is false. --> > <property name="clientMode" value="true"/> > <property name="peerClassLoadingEnabled" value="true"/> > ... > {code} > 2. Copy libs/optional/ignite-rest-http directory into libs > 3. Start two server nodes with example-ignite.xml: > bin/ignite.sh examples/config/example-ignite.xml > 4. Start client node with example-ignite-client.xml: > bin/ignite.sh examples/config/example-ignite.xml > 5. Now all nodes should print out following topology: > {noformat} > Topology snapshot [ver=3, servers=2, clients=1, CPUs=8, heap=3.0GB] > {noformat} > 5. Open url http://127.0.0.1:8082/ignite?cmd=top in your browser > The response should be following > {noformat} > {"error":"","response":[{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47500","defaultCacheMode":"","metrics":null,"nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae","tcpAddresses":["127.0.0.1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","0:0:0:0:0:0:0:1","10.0.0.9"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11211},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:47501","defaultCacheMode":"","metrics":null,"nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b","tcpAddresses":["0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","10.0.0.9","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11212},{"attributes":null,"caches":null,"consistentId":"0:0:0:0:0:0:0:1,10.0.0.9,127.0.0.1,192.168.222.100,2001:0:9d38:6ab8:188c:2ebf:a1b7:c399:0","defaultCacheMode":"","metrics":null,"nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2","tcpAddresses":["10.0.0.9","0:0:0:0:0:0:0:1","2001:0:9d38:6ab8:188c:2ebf:a1b7:c399","192.168.222.100","127.0.0.1"],"tcpHostNames":["rr","rr","rr"],"tcpPort":11213}],"sessionToken":"","successStatus":0} > {noformat} > Take a look on NodeID. There're same strings as node ids printed out in node > log (or on node console if node started with option -v): > {noformat} > {"error":"","response":[ > ..."nodeId":"4e5b8efb-eab9-4d24-9a3b-52e88c3220ae", > ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", > ..."nodeId":"07bbe0ae-b0fc-4536-b5d0-64bb748e38a2", > ..."sessionToken":"","successStatus":0} > {noformat} > 6. Stop both server nodes and open the url > http://127.0.0.1:8082/ignite?cmd=top again: > {noformat} > {"error":"","response":[ > ..."nodeId":"c5fd0979-4f28-4e26-a3f9-37a3af78005b", > ..."nodeId":"8d4c80da-3e64-43ff-aff0-112e45afa73f",], > ..."sessionToken":"","successStatus":0} > {noformat} > First nodeid points out on disconnected server node, second one is > non-existing id and there's no client node id. -- This message was sent by Atlassian JIRA (v6.3.4#6332)