You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Naveen Gangam (JIRA)" <ji...@apache.org> on 2018/04/17 21:45:00 UTC

[jira] [Created] (HIVE-19231) Beeline generates garbled output when using UnsupportedTerminal

Naveen Gangam created HIVE-19231:
------------------------------------

             Summary: Beeline generates garbled output when using UnsupportedTerminal
                 Key: HIVE-19231
                 URL: https://issues.apache.org/jira/browse/HIVE-19231
             Project: Hive
          Issue Type: Bug
          Components: Beeline
    Affects Versions: 2.1.0
            Reporter: Naveen Gangam
            Assignee: Naveen Gangam


We had a customer that was using some sort of front end that would invoke beeline commands with some query files on a node that that remote to the HS2 node.

So beeline runs locally on this edge but connects to a remote HS2. Since the fix made in HIVE-14342, the beeline started producing garbled line in the output. Something like
{code:java}
^Mnull                                                   ^Mnull^Mnull                                                   ^Mnull00-0000	All Occupations	135185230	42270
11-0000	Management occupations	6152650	100310{code}
 

I havent been able to reproduce the issue locally as I do not have their system, but with some additional instrumentation I have been able to get some info regarding the beeline process.

Essentially, such invocation causes beeline process to run with {{-Djline.terminal=jline.UnsupportedTerminal}} all the time and thus causes the issue. They can run the same beeline command directly in the shell on the same host and it does not cause this issue.

PID            S   TTY          TIME COMMAND
44107  S    S  ?        00:00:00 bash beeline -u ...

PID              S     TTY          TIME COMMAND
48453  S+   S     pts/4    00:00:00 bash beeline -u ...

Somehow that process wasnt attached to any local terminals. So the check made for /dev/stdin wouldnt work.

 

Instead an additional check to check the TTY session of the process before using the UnsupportedTerminal (which really should only be used for backgrounded beeline sessions) seems to resolve the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)