{"action":"opened","issue":{"url":"https://api.github.com/repos/marklogic/java-client-api/issues/709","repository_url":"https://api.github.com/repos/marklogic/java-client-api","labels_url":"https://api.github.com/repos/marklogic/java-client-api/issues/709/labels{/name}","comments_url":"https://api.github.com/repos/marklogic/java-client-api/issues/709/comments","events_url":"https://api.github.com/repos/marklogic/java-client-api/issues/709/events","html_url":"https://github.com/marklogic/java-client-api/issues/709","id":218033669,"number":709,"title":"Discrepancy in behavior when one of the node is shutdown","user":{"login":"sammefford","id":298950,"avatar_url":"https://avatars3.githubusercontent.com/u/298950?v=3","gravatar_id":"","url":"https://api.github.com/users/sammefford","html_url":"https://github.com/sammefford","followers_url":"https://api.github.com/users/sammefford/followers","following_url":"https://api.github.com/users/sammefford/following{/other_user}","gists_url":"https://api.github.com/users/sammefford/gists{/gist_id}","starred_url":"https://api.github.com/users/sammefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammefford/subscriptions","organizations_url":"https://api.github.com/users/sammefford/orgs","repos_url":"https://api.github.com/users/sammefford/repos","events_url":"https://api.github.com/users/sammefford/events{/privacy}","received_events_url":"https://api.github.com/users/sammefford/received_events","type":"User","site_admin":false},"labels":[{"id":95132628,"url":"https://api.github.com/repos/marklogic/java-client-api/labels/Bug","name":"Bug","color":"e11d21","default":false},{"id":95132932,"url":"https://api.github.com/repos/marklogic/java-client-api/labels/minor","name":"minor","color":"0052cc","default":false},{"id":95133504,"url":"https://api.github.com/repos/marklogic/java-client-api/labels/verify","name":"verify","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":{"login":"sammefford","id":298950,"avatar_url":"https://avatars3.githubusercontent.com/u/298950?v=3","gravatar_id":"","url":"https://api.github.com/users/sammefford","html_url":"https://github.com/sammefford","followers_url":"https://api.github.com/users/sammefford/followers","following_url":"https://api.github.com/users/sammefford/following{/other_user}","gists_url":"https://api.github.com/users/sammefford/gists{/gist_id}","starred_url":"https://api.github.com/users/sammefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammefford/subscriptions","organizations_url":"https://api.github.com/users/sammefford/orgs","repos_url":"https://api.github.com/users/sammefford/repos","events_url":"https://api.github.com/users/sammefford/events{/privacy}","received_events_url":"https://api.github.com/users/sammefford/received_events","type":"User","site_admin":false},"assignees":[{"login":"sammefford","id":298950,"avatar_url":"https://avatars3.githubusercontent.com/u/298950?v=3","gravatar_id":"","url":"https://api.github.com/users/sammefford","html_url":"https://github.com/sammefford","followers_url":"https://api.github.com/users/sammefford/followers","following_url":"https://api.github.com/users/sammefford/following{/other_user}","gists_url":"https://api.github.com/users/sammefford/gists{/gist_id}","starred_url":"https://api.github.com/users/sammefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammefford/subscriptions","organizations_url":"https://api.github.com/users/sammefford/orgs","repos_url":"https://api.github.com/users/sammefford/repos","events_url":"https://api.github.com/users/sammefford/events{/privacy}","received_events_url":"https://api.github.com/users/sammefford/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/marklogic/java-client-api/milestones/22","html_url":"https://github.com/marklogic/java-client-api/milestone/22","labels_url":"https://api.github.com/repos/marklogic/java-client-api/milestones/22/labels","id":2110160,"number":22,"title":"java-client-api-4.0.2","description":"Coincides with MarkLogic Server release 9.0-2","creator":{"login":"sammefford","id":298950,"avatar_url":"https://avatars3.githubusercontent.com/u/298950?v=3","gravatar_id":"","url":"https://api.github.com/users/sammefford","html_url":"https://github.com/sammefford","followers_url":"https://api.github.com/users/sammefford/followers","following_url":"https://api.github.com/users/sammefford/following{/other_user}","gists_url":"https://api.github.com/users/sammefford/gists{/gist_id}","starred_url":"https://api.github.com/users/sammefford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammefford/subscriptions","organizations_url":"https://api.github.com/users/sammefford/orgs","repos_url":"https://api.github.com/users/sammefford/repos","events_url":"https://api.github.com/users/sammefford/events{/privacy}","received_events_url":"https://api.github.com/users/sammefford/received_events","type":"User","site_admin":false},"open_issues":33,"closed_issues":4,"state":"open","created_at":"2016-11-02T17:08:12Z","updated_at":"2017-03-29T22:56:54Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-03-29T22:56:53Z","updated_at":"2017-03-29T22:56:53Z","closed_at":null,"body":"From https://github.com/marklogic/data-movement/issues/59\r\n\r\n@srinathgit:\r\nScenario 1 :\r\n\r\nThree node cluster, having a forest on each node. \r\nMake one of the forest disabled \r\nStart the job\r\nStop the node on which the aforementioned forest resides when insert is happening\r\n\r\nDocuments are written to the host. The host that has forest disabled routes the document to other hosts where forest is available. When the node having the disabled forest is brought down, the batch to be written to the host having disabled forest are marked as failure. The database goes to unavailable state immediately and no more inserts take place until the node is brought back up.\r\n\r\nScenario 2:\r\n\r\nThree node cluster, having a forest on each node. \r\nMake one of the forest offline \r\nStart the job\r\nStop the node on which the aforementioned forest resides when insert is happening\r\n\r\nDocuments are written to the host. The host that has forest offline routes the document to other hosts where forest is available. When the node having the offline forest is brought down, the batches of document to be written to the host having offline forest are marked as failure while documents are written to the other nodes. This continues for a period of roughly 90 seconds after the node is brought down. After that no more inserts take place until the node is brought back up. Hence a lot more batches fail during the interim period.\r\n1. This may be due to the behavior of server. I just want to confirm if this is expected. \r\n2. Also in either case, the DMSDK application indefinitely hangs (it was alive for atleast 20 minutes when I checked) with stack trace of main thread is provided below waiting for a response from the server.\r\n\r\n```\r\nName: main\r\nState: RUNNABLE\r\nTotal blocked: 0  Total waited: 22\r\n\r\nStack trace: \r\njava.net.SocketInputStream.socketRead0(Native Method)\r\njava.net.SocketInputStream.socketRead(SocketInputStream.java:116)\r\njava.net.SocketInputStream.read(SocketInputStream.java:170)\r\njava.net.SocketInputStream.read(SocketInputStream.java:141)\r\norg.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)\r\norg.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)\r\norg.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:260)\r\norg.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)\r\norg.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)\r\norg.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)\r\norg.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)\r\norg.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)\r\norg.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)\r\norg.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)\r\norg.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)\r\norg.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633)\r\norg.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454)\r\norg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)\r\norg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)\r\ncom.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:170)\r\ncom.marklogic.client.impl.DigestChallengeFilter.handle(DigestChallengeFilter.java:34)\r\ncom.sun.jersey.api.client.filter.HTTPDigestAuthFilter.handle(HTTPDigestAuthFilter.java:493)\r\ncom.sun.jersey.api.client.Client.handle(Client.java:648)\r\ncom.sun.jersey.api.client.WebResource.handle(WebResource.java:680)\r\ncom.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)\r\ncom.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:568)\r\ncom.marklogic.client.impl.JerseyServices.doPost(JerseyServices.java:4338)\r\ncom.marklogic.client.impl.JerseyServices.postResource(JerseyServices.java:3564)\r\ncom.marklogic.client.impl.JerseyServices.postBulkDocuments(JerseyServices.java:3677)\r\ncom.marklogic.client.impl.DocumentManagerImpl.write(DocumentManagerImpl.java:564)\r\ncom.marklogic.datamovement.impl.WriteHostBatcherImpl.flushBatch(WriteHostBatcherImpl.java:164)\r\n   - locked com.marklogic.datamovement.impl.WriteHostBatcherImpl@4a4a492\r\ncom.marklogic.datamovement.impl.WriteHostBatcherImpl.add(WriteHostBatcherImpl.java:105)\r\n   - locked com.marklogic.datamovement.impl.BatchWriteSet@767e8f3c\r\ncom.marklogic.datamovement.impl.WriteHostBatcherImpl.add(WriteHostBatcherImpl.java:89)\r\ncom.marklogic.datamovement.functionaltests.WriteHostBatcherTest.testDisableDBDuringInsert(WriteHostBatcherTest.java:1684)\r\nsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\nsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\nsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\njava.lang.reflect.Method.invoke(Method.java:498)\r\norg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)\r\norg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\r\norg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)\r\norg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\r\norg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\r\norg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)\r\norg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\r\norg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)\r\norg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\r\norg.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\r\norg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\r\norg.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\r\norg.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\r\norg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\r\norg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\r\norg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)\r\norg.junit.runners.ParentRunner.run(ParentRunner.java:309)\r\norg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)\r\norg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\r\norg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)\r\norg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)\r\norg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)\r\norg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) \r\n```\r\n"}}
{"actor":{"display_login":"sammefford"}}