[ https://issues.apache.org/jira/browse/SOLR-15849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459804#comment-17459804 ]
ASF subversion and git services commented on SOLR-15849: -------------------------------------------------------- Commit 48ffa68aecc98b5ff0489705520d0cd1e81a1a09 in solr's branch refs/heads/main from Fa Ming [ https://gitbox.apache.org/repos/asf?p=solr.git;h=48ffa68 ] SOLR-15849 Incorrect use Zookeeper 4LW (#458) > Incorrect use Zookeeper 4LW > ---------------------------- > > Key: SOLR-15849 > URL: https://issues.apache.org/jira/browse/SOLR-15849 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: Admin UI > Affects Versions: 7.5, 8.10.1 > Reporter: Fa Ming > Assignee: Jan Høydahl > Priority: Minor > Time Spent: 0.5h > Remaining Estimate: 0h > > {*}Error code location{*}: > org.apache.solr.handler.admin.ZookeeperStatusHandler > {code:java} > getZkRawResponse() > try ( > Socket socket = new Socket(host, port); > Writer writer = new OutputStreamWriter(socket.getOutputStream(), > "utf-8"); > PrintWriter out = new PrintWriter(writer, true); > BufferedReader in = new BufferedReader(new > InputStreamReader(socket.getInputStream(), "utf-8"));) { > out.println(fourLetterWordCommand); > List<String> response = in.lines().collect(Collectors.toList()); > log.debug("Got response from ZK on host {} and port {}: {}", host, > port, response); > {code} > > Zookeeper only accepts 4LW, but solr socket sends 4LW with \n. > After reading 4LW, ZooKeeper will call the close method to close the socket. > At this time, there will be \n unread in the cache, which will cause the > connection that should send FIN to release will be changed to RST, and the > solr socket client will throw it out in some cases. The exception > (java.net.SocketException: Connection reset) which causes the Solr Admin UI > interface zkStatus to be yellow. > > {*}H{*}{*}ere is some amendments by myself:{*} > {code:java} > getZkRawResponse() > try ( > Socket socket = new Socket(host, port); > Writer writer = new OutputStreamWriter(socket.getOutputStream(), > "utf-8"); > PrintWriter out = new PrintWriter(writer, true); > BufferedReader in = new BufferedReader(new > InputStreamReader(socket.getInputStream(), "utf-8"));) { > out.print(fourLetterWordCommand); > out.flush(); > List<String> response = in.lines().collect(Collectors.toList()); > log.debug("Got response from ZK on host {} and port {}: {}", host, > port, response); > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org