New IPython backend for Spark interpreter breaks Python 2 compatibility because of grpc.
Basically if you have an unicode character in a static string or even in a comment, it'll break Spark interpreter. https://issues.apache.org/jira/browse/ZEPPELIN-3239 Below update on gRPC issue https://github.com/grpc/grpc/issues/14446 says that in Python 2 we should directly encode data explicitly before sending it over to grpc. PS. If unicode data is present, in frontend it just looks as paragraph is in "RUNNING" state with no ability to cancel it. The only way to "unhang" spark interpreter is to restart it. It seems spark interpreter --> grpc --> ipython backend is currently somewhat brittle as any exception stops grpc stream [1]. Would it be possible to adjust code in ipython logic to restart grpc stream for each paragraph run? Like explained in https://github.com/grpc/grpc-java/issues/4086 Filed https://issues.apache.org/jira/browse/ZEPPELIN-3247 to consider implementing this. [1] INFO [2018-02-14 10:39:10,923] ({grpc-default-worker-ELG-1-2} AbstractClientStream2.java[inboundDataReceived]:249) - Received data on closed stream INFO [2018-02-14 10:39:10,924] ({grpc-default-worker-ELG-1-2} AbstractClientStream2.java[inboundDataReceived]:249) - Received data on closed stream INFO [2018-02-14 10:39:10,925] ({grpc-default-worker-ELG-1-2} AbstractClientStream2.java[inboundDataReceived]:249) - Received data on closed stream ---------- Forwarded message ---------- From: kpayson64 <notificati...@github.com> Date: Mon, Feb 19, 2018 at 2:47 PM Subject: Re: [grpc/grpc] Unicode support in Python 2? (#14446) To: grpc/grpc <g...@noreply.github.com> Cc: Ruslan Dautkhanov <dautkha...@gmail.com>, Author < aut...@noreply.github.com> I can confirm that Python 2 gRPC doesn't accept unicode characters. The Python gRPC API accepts the string type, which in Python 2 is equivalent to the byte type. Applications should do any encoding if they are using unicode characters. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/grpc/grpc/issues/14446#issuecomment-366810413>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AC37KkH9LbYbClw5ZZ-T48i4GX54m15Rks5tWev7gaJpZM4SH7mi> .