Ruslan Dautkhanov created ZEPPELIN-3239: -------------------------------------------
Summary: unicode characters in an iPython paragraph makes Spark interpreter irrsponsive Key: ZEPPELIN-3239 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3239 Project: Zeppelin Issue Type: Bug Reporter: Ruslan Dautkhanov Attachments: Zeppelin-iPython_para_with_Unicode.PNG An unicode characters in an iPython paragraph makes Spark interpreter irresponsive. To reproduce, type into a new %ipyspark code following phase (yes, it's not a valid python code but the imprtant part is that it has a long unicode dash character ): {code} One following unicide character makes ipythonInterpreter not responding to Cancel commands – {code} DEBUG interpreter log shows following: {quote}DEBUG [2018-02-15 00:39:45,628] (\{pool-2-thread-2} IPythonClient.java[stream_execute]:87) - stream_execute code: One following unicide character makes ipythonInterpreter not responding to Cancel commands – DEBUG [2018-02-15 00:39:45,632] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: ERROR:root:Exception iterating responses: 'ascii' codec can't encode character u'\u2013' in position 91: ordinal not in range(128) DEBUG [2018-02-15 00:39:45,632] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: Traceback (most recent call last): DEBUG [2018-02-15 00:39:45,633] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: File "/opt/cloudera/parcels/Anaconda/lib/python2.7/site-packages/grpc/_server.py", line 401, in _take_response_from_response_iterator ERROR [2018-02-15 00:39:45,633] (\{grpc-default-executor-0} IPythonClient.java[onError]:138) - Fail to call IPython grpc io.grpc.StatusRuntimeException: UNKNOWN: Exception iterating responses: 'ascii' codec can't encode character u'\u2013' in position 91: ordinal not in range(128) at io.grpc.Status.asRuntimeException(Status.java:543) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:395) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426) at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:76) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:512) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:429) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:544) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:117) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) DEBUG [2018-02-15 00:39:45,633] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: return next(response_iterator), True DEBUG [2018-02-15 00:39:45,633] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: File "/tmp/zeppelin_ipython1942535087961089556/ipython_server.py", line 54, in execute DEBUG [2018-02-15 00:39:45,633] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: print(request.code) DEBUG [2018-02-15 00:39:45,634] (\{Exec Stream Pumper} IPythonInterpreter.java[processLine]:388) - Process Output: UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 91: ordinal not in range(128) INFO [2018-02-15 00:39:58,894] (\{dispatcher-event-loop-23} Logging.scala[logInfo]:54) - Registered executor NettyRpcEndpointRef(spark-client://Executor) (10.20.33.75:40434) with ID 2 {quote} Notice "Process Output: UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 91: ordinal not in range(128) " So iPython interpreter breaks on presence of any unicode data. !Zeppelin-iPython_para_with_Unicode.PNG! -- This message was sent by Atlassian JIRA (v7.6.3#76005)