You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ul...@apache.org on 2022/04/14 01:42:17 UTC

[incubator-kyuubi] branch branch-1.5 updated: [KYUUBI #2354] Fix NPE in process builder log capture thread

This is an automated email from the ASF dual-hosted git repository.

ulyssesyou pushed a commit to branch branch-1.5
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/branch-1.5 by this push:
     new 5e76334e2 [KYUUBI #2354] Fix NPE in process builder log capture thread
5e76334e2 is described below

commit 5e76334e2e5f090a3b6c091d06684d417469b015
Author: Fei Wang <fw...@ebay.com>
AuthorDate: Thu Apr 14 09:41:56 2022 +0800

    [KYUUBI #2354] Fix NPE in process builder log capture thread
    
    ### _Why are the changes needed?_
    
    I saw NPE in UT.
    ```
    Exception in thread "process-logger-capture: Thread-1972" java.lang.NullPointerException
            at org.apache.kyuubi.engine.ProcBuilder.$anonfun$start$1(ProcBuilder.scala:204)
            at java.base/java.lang.Thread.run(Thread.java:829)
    ```
    
    For BufferedReader::readLine method,
    ```
    Returns:
    A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
    ```
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [ ] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
    
    Closes #2354 from turboFei/npe_line_read.
    
    Closes #2354
    
    26716577 [Fei Wang] Fix npe in log capture thread
    
    Authored-by: Fei Wang <fw...@ebay.com>
    Signed-off-by: ulysses-you <ul...@apache.org>
    (cherry picked from commit d11866df45ff5e0684dc9ebef065b0b8d36a5ade)
    Signed-off-by: ulysses-you <ul...@apache.org>
---
 .../src/main/scala/org/apache/kyuubi/engine/ProcBuilder.scala         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/ProcBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/ProcBuilder.scala
index 704f606db..a6607eb60 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/ProcBuilder.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/ProcBuilder.scala
@@ -148,12 +148,12 @@ trait ProcBuilder {
         val maxErrorSize = conf.get(KyuubiConf.ENGINE_ERROR_MAX_SIZE)
         while (true) {
           if (reader.ready()) {
-            var line: String = reader.readLine.trim
+            var line: String = reader.readLine()
             if (containsException(line) &&
               !line.contains("at ") && !line.startsWith("Caused by:")) {
               val sb = new StringBuilder(line)
               error = KyuubiSQLException(sb.toString() + s"\n See more: $engineLog")
-              line = reader.readLine().trim
+              line = reader.readLine()
               while (sb.length < maxErrorSize && line != null &&
                 (containsException(line) ||
                   line.startsWith("\tat ") ||