{"action":"created","issue":{"url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/3","labels_url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/3/comments","events_url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/3/events","html_url":"https://github.com/vert-x3/vertx-openshift-cartridge/issues/3","id":90357968,"number":3,"title":"Still some problem with cluster - no cluster.xml found","user":{"login":"lzeligowski","id":11546678,"avatar_url":"https://avatars.githubusercontent.com/u/11546678?v=3","gravatar_id":"","url":"https://api.github.com/users/lzeligowski","html_url":"https://github.com/lzeligowski","followers_url":"https://api.github.com/users/lzeligowski/followers","following_url":"https://api.github.com/users/lzeligowski/following{/other_user}","gists_url":"https://api.github.com/users/lzeligowski/gists{/gist_id}","starred_url":"https://api.github.com/users/lzeligowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lzeligowski/subscriptions","organizations_url":"https://api.github.com/users/lzeligowski/orgs","repos_url":"https://api.github.com/users/lzeligowski/repos","events_url":"https://api.github.com/users/lzeligowski/events{/privacy}","received_events_url":"https://api.github.com/users/lzeligowski/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-06-23T11:21:31Z","updated_at":"2015-06-23T14:49:03Z","closed_at":null,"body":"I saw your update - thx for it.\r\n\r\nI removed and recreat demo app.\r\n\r\nHowever my \"demo\" app is not working in cluster env.\r\n\r\nI removed from my project cluster.xml. I expect cluster.xml generated by cartridge will be used. Currently - there will be just one node... \r\n\r\nWhen pushed changes I see this:\r\n\r\n```\r\nremote: CLIENT_MESSAGE: Vert.x OPTS:  -Dhttp.port=8080 -Dhttp.address=127.7.180.129 -Dvertx.cluster.public.host=10.145.206.45 -Dvertx.cluster.public.port=52758\r\nremote: CLIENT_MESSAGE: Vert.x Cluster parameters : -cluster -cluster-port 9123 -cluster-host 127.7.180.129\r\nremote: CLIENT_MESSAGE: Vert.x Application parameter : -cp /var/lib/openshift/558936214382eca4690000b1/vertx//conf/cluster.xml:/var/lib/openshift/558936214382eca4690000b1/vertx//conf\r\n```\r\n\r\n(is this ok - double / before conf directory in -cp parameters? )\r\n\r\nApp is starting and then I see on console log this:\r\n```\r\nJun 23, 2015 7:09:01 AM com.hazelcast.config.AbstractXmlConfigHelper\r\nWARNING: Name of the hazelcast schema location incorrect using default\r\nJun 23, 2015 7:09:02 AM com.hazelcast.instance.DefaultAddressPicker\r\nINFO: [LOCAL] [dev] [3.5] Prefer IPv4 stack is true.\r\nJun 23, 2015 7:09:12 AM com.hazelcast.instance.DefaultAddressPicker\r\nSEVERE: [LOCAL] [dev] [3.5] ServerSocket bind has failed. Hazelcast cannot start! config-port: 5701, latest-port: 15701\r\ncom.hazelcast.core.HazelcastException: ServerSocket bind has failed. Hazelcast cannot start! config-port: 5701, latest-port: 15701\r\n\tat com.hazelcast.instance.DefaultAddressPicker.pickAddress(DefaultAddressPicker.java:117)\r\n\tat com.hazelcast.instance.Node.<init>(Node.java:143)\r\n\tat com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:120)\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:152)\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:135)\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:111)\r\n\tat com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58)\r\n\tat io.vertx.spi.cluster.hazelcast.HazelcastClusterManager.lambda$join$13(HazelcastClusterManager.java:100)\r\n\tat io.vertx.spi.cluster.hazelcast.HazelcastClusterManager$$Lambda$3/13741961.handle(Unknown Source)\r\n\tat io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:279)\r\n\tat io.vertx.core.impl.ContextImpl$$Lambda$5/24264240.run(Unknown Source)\r\n\tat io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor.lambda$new$199(OrderedExecutorFactory.java:91)\r\n\tat io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor$$Lambda$4/13444057.run(Unknown Source)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\nCaused by: java.net.SocketException: Permission denied\r\n\tat sun.nio.ch.Net.bind0(Native Method)\r\n\tat sun.nio.ch.Net.bind(Net.java:437)\r\n\tat sun.nio.ch.Net.bind(Net.java:429)\r\n\tat sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)\r\n\tat sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)\r\n\tat com.hazelcast.instance.DefaultAddressPicker.pickAddress(DefaultAddressPicker.java:98)\r\n\t... 15 more\r\n\r\n2015-06-23 07:09:12,106 DEBUG Using default SystemClock for timestamps\r\n07:09:12.116 [vert.x-eventloop-thread-0] ERROR io.vertx.core.impl.VertxImpl - Failed to join cluster\r\ncom.hazelcast.core.HazelcastException: ServerSocket bind has failed. Hazelcast cannot start! config-port: 5701, latest-port: 15701\r\n\tat com.hazelcast.instance.DefaultAddressPicker.pickAddress(DefaultAddressPicker.java:117) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.instance.Node.<init>(Node.java:143) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:120) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:152) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:135) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:111) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.vertx.spi.cluster.hazelcast.HazelcastClusterManager.lambda$join$13(HazelcastClusterManager.java:100) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.vertx.spi.cluster.hazelcast.HazelcastClusterManager$$Lambda$3/13741961.handle(Unknown Source) ~[?:?]\r\n\tat io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:279) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.vertx.core.impl.ContextImpl$$Lambda$5/24264240.run(Unknown Source) ~[?:?]\r\n\tat io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor.lambda$new$199(OrderedExecutorFactory.java:91) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor$$Lambda$4/13444057.run(Unknown Source) ~[?:?]\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_45]\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_45]\r\n\tat java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]\r\nCaused by: java.net.SocketException: Permission denied\r\n\tat sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.Net.bind(Net.java:437) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.Net.bind(Net.java:429) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[?:1.8.0_45]\r\n\tat com.hazelcast.instance.DefaultAddressPicker.pickAddress(DefaultAddressPicker.java:98) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\t... 15 more\r\n07:09:12.143 [vert.x-eventloop-thread-0] ERROR com.git.ServerStarter -  ######################## error\r\n```\r\nand more...\r\n\r\n\r\n\r\nSo - it looks like Hazelcast can not find cluster.xml from cartridge (first line):\r\n```\r\nJun 23, 2015 7:09:01 AM com.hazelcast.config.AbstractXmlConfigHelper\r\nWARNING: Name of the hazelcast schema location incorrect using default\r\n```\r\n\r\nany idea?"},"comment":{"url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/comments/114532146","html_url":"https://github.com/vert-x3/vertx-openshift-cartridge/issues/3#issuecomment-114532146","issue_url":"https://api.github.com/repos/vert-x3/vertx-openshift-cartridge/issues/3","id":114532146,"user":{"login":"lzeligowski","id":11546678,"avatar_url":"https://avatars.githubusercontent.com/u/11546678?v=3","gravatar_id":"","url":"https://api.github.com/users/lzeligowski","html_url":"https://github.com/lzeligowski","followers_url":"https://api.github.com/users/lzeligowski/followers","following_url":"https://api.github.com/users/lzeligowski/following{/other_user}","gists_url":"https://api.github.com/users/lzeligowski/gists{/gist_id}","starred_url":"https://api.github.com/users/lzeligowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lzeligowski/subscriptions","organizations_url":"https://api.github.com/users/lzeligowski/orgs","repos_url":"https://api.github.com/users/lzeligowski/repos","events_url":"https://api.github.com/users/lzeligowski/events{/privacy}","received_events_url":"https://api.github.com/users/lzeligowski/received_events","type":"User","site_admin":false},"created_at":"2015-06-23T14:49:02Z","updated_at":"2015-06-23T14:49:02Z","body":"To be clear. I made\r\n```\r\nrhc app delete demo\r\n```\r\nand then\r\n```\r\nrhc create-app demo https://raw.githubusercontent.com/vert-x3/vertx-openshift-cartridge/master/metadata/manifest.yml -s\r\n```\r\nI edited `vertx.env` from `configuration` directory (enable cluster - uncomment last line).\r\nCopied new `demo*-fat.jar` to `application`\r\n`git add -A; git commit -m \"Some comment\"; git push`\r\n`rhc tail demo -o \"-n 200\"`\r\nAnd I saw error as mentioned above... \r\nI've just repeated this again a few seconds ago with the same result.\r\nI've also checked a file cluster.xml from conf directory (added to classpath) and it looks ok.\r\nSo I copied that file to my project and inserted to fat.jar\r\nNow error messages are little different:\r\n```\r\nJun 23, 2015 10:37:58 AM com.hazelcast.config.AbstractXmlConfigHelper\r\nWARNING: Name of the hazelcast schema location incorrect using default\r\nJun 23, 2015 10:37:59 AM com.hazelcast.instance.DefaultAddressPicker\r\nINFO: [LOCAL] [dev] [3.5] Picking address configured by property 'hazelcast.local.localAddress'\r\nJun 23, 2015 10:37:59 AM com.hazelcast.instance.DefaultAddressPicker\r\nINFO: [LOCAL] [dev] [3.5] Picked Address[127.13.13.1]:36437, using socket ServerSocket[addr=/127.13.13.1,localport=36437], bind any local is false\r\nJun 23, 2015 10:37:59 AM com.hazelcast.instance.DefaultAddressPicker\r\nINFO: [LOCAL] [dev] [3.5] Using public address: Address[10.63.68.238]:36437\r\nJun 23, 2015 10:37:59 AM com.hazelcast.spi.OperationService\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Backpressure is disabled\r\nJun 23, 2015 10:37:59 AM com.hazelcast.spi.impl.operationexecutor.classic.ClassicOperationExecutor\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Starting with 2 generic operation threads and 4 partition operation threads.\r\nJun 23, 2015 10:38:00 AM com.hazelcast.system\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Hazelcast 3.5 (20150617 - 4270dc6) starting at Address[10.63.68.238]:36437\r\nJun 23, 2015 10:38:00 AM com.hazelcast.system\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Copyright (c) 2008-2015, Hazelcast, Inc. All Rights Reserved.\r\nJun 23, 2015 10:38:00 AM com.hazelcast.instance.Node\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Creating TcpIpJoiner\r\nJun 23, 2015 10:38:00 AM com.hazelcast.core.LifecycleService\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Address[10.63.68.238]:36437 is STARTING\r\nJun 23, 2015 10:38:01 AM com.hazelcast.cluster.impl.TcpIpJoiner\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] \r\n\r\n\r\nMembers [1] {\r\n\tMember [10.63.68.238]:36437 this\r\n}\r\n\r\nJun 23, 2015 10:38:01 AM com.hazelcast.core.LifecycleService\r\nINFO: [10.63.68.238]:36437 [dev] [3.5] Address[10.63.68.238]:36437 is STARTED\r\n2015-06-23 10:38:04,374 DEBUG Using default SystemClock for timestamps\r\n10:38:04.423 [vertx-blocked-thread-checker] WARN  io.vertx.core.impl.BlockedThreadChecker - Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 2736 ms, time limit is 2000\r\n10:38:04.508 [vert.x-eventloop-thread-0] ERROR com.git.ServerStarter -  ######################## error\r\njava.net.SocketException: Permission denied\r\n\tat sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.Net.bind(Net.java:437) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.Net.bind(Net.java:429) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[?:1.8.0_45]\r\n\tat sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[?:1.8.0_45]\r\n\tat io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:485) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1089) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:430) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:415) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:903) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.AbstractChannel.bind(AbstractChannel.java:198) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:348) ~[demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357) [demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) [demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) [demo-openshift-0.0.1-SNAPSHOT-fat.jar:?]\r\n\tat java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]\r\n```\r\n\r\nAnd here are deploy parameters (received during `git push`):\r\n```\r\nremote: CLIENT_MESSAGE: Stopping Vert.x application\r\nremote: Syncing git content to other proxy gears\r\nremote: Building git ref 'master', commit 6497557\r\nremote: Preparing build for deployment\r\nremote: Deployment id is 89441be7\r\nremote: Activating deployment\r\nremote: HAProxy already running\r\nremote: HAProxy instance is started\r\nremote: Starting Vert.x application\r\nremote: CLIENT_MESSAGE: Vert.x OPTS:  -Dhttp.port=8080 -Dhttp.address=127.13.13.1 -Dvertx.cluster.public.host=10.63.68.238 -Dvertx.cluster.public.port=36438\r\nremote: CLIENT_MESSAGE: Vert.x Cluster parameters : -cluster -cluster-port 9123 -cluster-host 127.13.13.1\r\nremote: CLIENT_MESSAGE: Vert.x Application parameter : -cp /var/lib/openshift/55896d385973ca119000021f/vertx//conf/cluster.xml:/var/lib/openshift/55896d385973ca119000021f/vertx//conf\r\nremote: -------------------------\r\nremote: Git Post-Receive Result: success\r\nremote: Activation status: success\r\nremote: Deployment completed with status: success\r\n```\r\n\r\nand here is `cluster.xml`:\r\n```\r\n<hazelcast xsi:schemaLocation=\"http://www.hazelcast.com/schema/config hazelcast-basic.xsd\"\r\n           xmlns=\"http://www.hazelcast.com/schema/config\"\r\n           xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n  <properties>\r\n    <property name=\"hazelcast.mancenter.enabled\">false</property>\r\n    <property name=\"hazelcast.memcache.enabled\">false</property>\r\n    <property name=\"hazelcast.rest.enabled\">false</property>\r\n    <property name=\"hazelcast.wait.seconds.before.join\">0</property>\r\n    <property name=\"hazelcast.logging.type\">jdk</property>\r\n    <property name=\"hazelcast.local.localAddress\">127.13.13.1</property>\r\n    <property name=\"hazelcast.socket.server.bind.any\">false</property>\r\n    <property name=\"hazelcast.socket.client.bind\">false</property>\r\n  </properties>\r\n  <group>\r\n    <name>dev</name>\r\n    <password>dev-pass</password>\r\n  </group>\r\n  <management-center enabled=\"false\">http://localhost:8080/mancenter</management-center>\r\n  <network>\r\n    <public-address>10.63.68.238:36437</public-address>\r\n    <port auto-increment=\"false\" port-count=\"100\">36437</port>\r\n    <join>\r\n      <multicast enabled=\"false\">\r\n        <multicast-group>224.2.2.3</multicast-group>\r\n        <multicast-port>54327</multicast-port>\r\n      </multicast>\r\n      <tcp-ip enabled=\"true\">\r\n        <members>10.63.68.238:36437</members>\r\n      </tcp-ip>\r\n      <aws enabled=\"false\">\r\n        <access-key>my-access-key</access-key>\r\n        <secret-key>my-secret-key</secret-key>\r\n        <!--optional, default is us-east-1 -->\r\n        <region>us-west-1</region>\r\n        <!--optional, default is ec2.amazonaws.com. If set, region shouldn't be set as it will override this property -->\r\n        <host-header>ec2.amazonaws.com</host-header>\r\n        <!-- optional, only instances belonging to this group will be discovered, default will try all running instances -->\r\n        <security-group-name>hazelcast-sg</security-group-name>\r\n        <tag-key>type</tag-key>\r\n        <tag-value>hz-nodes</tag-value>\r\n      </aws>\r\n    </join>\r\n    <symmetric-encryption enabled=\"false\">\r\n      <!--\r\n         encryption algorithm such as\r\n         DES/ECB/PKCS5Padding,\r\n         PBEWithMD5AndDES,\r\n         AES/CBC/PKCS5Padding,\r\n         Blowfish,\r\n         DESede\r\n      -->\r\n      <algorithm>PBEWithMD5AndDES</algorithm>\r\n      <!-- salt value to use when generating the secret key -->\r\n      <salt>thesalt</salt>\r\n      <!-- pass phrase to use when generating the secret key -->\r\n      <password>thepass</password>\r\n      <!-- iteration count to use when generating the secret key -->\r\n      <iteration-count>19</iteration-count>\r\n    </symmetric-encryption>\r\n  </network>\r\n  <partition-group enabled=\"false\"/>\r\n  <executor-service name=\"default\">\r\n    <pool-size>16</pool-size>\r\n\r\n    <!-- Queue capacity. 0 means Integer.MAX_VALUE. -->\r\n    <queue-capacity>0</queue-capacity>\r\n  </executor-service>\r\n  <map name=\"subs\">\r\n    <!--\r\n      Number of backups. If 1 is set as the backup-count for example,\r\n      then all entries of the map will be copied to another JVM for\r\n      fail-safety. 0 means no backup.\r\n    -->\r\n    <backup-count>1</backup-count>\r\n    <!--\r\n      Maximum number of seconds for each entry to stay in the map. Entries that are\r\n      older than <time-to-live-seconds> and not updated for <time-to-live-seconds>\r\n      will get automatically evicted from the map.\r\n      Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. Default is 0.\r\n    -->\r\n    <time-to-live-seconds>0</time-to-live-seconds>\r\n    <!--\r\n      Maximum number of seconds for each entry to stay idle in the map. Entries that are\r\n      idle(not touched) for more than <max-idle-seconds> will get\r\n      automatically evicted from the map. Entry is touched if get, put or containsKey is called.\r\n      Any integer between 0 and Integer.MAX_VALUE. 0 means infinite. Default is 0.\r\n    -->\r\n    <max-idle-seconds>0</max-idle-seconds>\r\n    <!--\r\n      Valid values are:\r\n      NONE (no eviction),\r\n      LRU (Least Recently Used),\r\n      LFU (Least Frequently Used).\r\n      NONE is the default.\r\n    -->\r\n    <eviction-policy>NONE</eviction-policy>\r\n    <!--\r\n      Maximum size of the map. When max size is reached,\r\n      map is evicted based on the policy defined.\r\n      Any integer between 0 and Integer.MAX_VALUE. 0 means\r\n      Integer.MAX_VALUE. Default is 0.\r\n    -->\r\n    <max-size policy=\"PER_NODE\">0</max-size>\r\n    <!--\r\n      When max. size is reached, specified percentage of\r\n      the map will be evicted. Any integer between 0 and 100.\r\n      If 25 is set for example, 25% of the entries will\r\n      get evicted.\r\n    -->\r\n    <eviction-percentage>25</eviction-percentage>\r\n    <!--\r\n      While recovering from split-brain (network partitioning),\r\n      map entries in the small cluster will merge into the bigger cluster\r\n      based on the policy set here. When an entry merge into the\r\n      cluster, there might an existing entry with the same key already.\r\n      Values of these entries might be different for that same key.\r\n      Which value should be set for the key? Conflict is resolved by\r\n      the policy set here. Default policy is PutIfAbsentMapMergePolicy\r\n\r\n      There are built-in merge policies such as\r\n      com.hazelcast.map.merge.PassThroughMergePolicy; entry will be added if there is no existing entry for the key.\r\n      com.hazelcast.map.merge.PutIfAbsentMapMergePolicy ; entry will be added if the merging entry doesn't exist in the cluster.\r\n      com.hazelcast.map.merge.HigherHitsMapMergePolicy ; entry with the higher hits wins.\r\n      com.hazelcast.map.merge.LatestUpdateMapMergePolicy ; entry with the latest update wins.\r\n    -->\r\n    <merge-policy>com.hazelcast.map.merge.LatestUpdateMapMergePolicy</merge-policy>\r\n  </map>\r\n</hazelcast>\r\n```"}}