You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pr...@apache.org on 2017/08/08 18:38:21 UTC
zeppelin git commit: [ZEPPELIN-2827] Spark's pyspark fails if
unsupported version of matplotlib is present
Repository: zeppelin
Updated Branches:
refs/heads/master f238ca0e3 -> 89e2e0246
[ZEPPELIN-2827] Spark's pyspark fails if unsupported version of matplotlib is present
### What is this PR for?
%spark.pyspark paragraphs keep running for more than > 5 minutes and then at the end, throw TTransportException.
```
org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
```
This happens because Zeppelin refers to `matplotlib.rcParams['savefig.format']` https://github.com/apache/zeppelin/blob/master/interpreter/lib/python/mpl_config.py#L83 which is only present in matplotlib 1.2.0 (https://github.com/matplotlib/matplotlib/blob/v1.2.0/matplotlibrc.template#L355) and onwards.
### What type of PR is it?
[Bug Fix]
### What is the Jira issue?
* [ZEPPELIN-2827](https://issues.apache.org/jira/browse/ZEPPELIN-2827)
### How should this be tested?
Try running spark.pyspark on a machine with matplotlib==1.1.1 installed, pyspark should work as expected.
### Questions:
* Does the licenses files need update? N/A
* Is there breaking changes for older versions? N/A
* Does this needs documentation? N/A
Author: Prabhjyot Singh <pr...@gmail.com>
Closes #2516 from prabhjyotsingh/ZEPPELIN-2827 and squashes the following commits:
0321fcd3e [Prabhjyot Singh] check if `savefig.format` exists in mpl_config.py
da26f5613 [Prabhjyot Singh] add a version check along with check if matplotlib is installed
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/89e2e024
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/89e2e024
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/89e2e024
Branch: refs/heads/master
Commit: 89e2e0246c79b84d9cce73ac88727c29e37439f3
Parents: f238ca0
Author: Prabhjyot Singh <pr...@gmail.com>
Authored: Thu Aug 3 22:48:40 2017 -0700
Committer: Prabhjyot Singh <pr...@gmail.com>
Committed: Tue Aug 8 11:38:18 2017 -0700
----------------------------------------------------------------------
interpreter/lib/python/mpl_config.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/89e2e024/interpreter/lib/python/mpl_config.py
----------------------------------------------------------------------
diff --git a/interpreter/lib/python/mpl_config.py b/interpreter/lib/python/mpl_config.py
index e48678f..5c60893 100644
--- a/interpreter/lib/python/mpl_config.py
+++ b/interpreter/lib/python/mpl_config.py
@@ -71,7 +71,11 @@ def _on_config_change():
supported_formats = _config['supported_formats']
if fmt not in supported_formats:
raise ValueError("Unsupported format %s" %fmt)
- matplotlib.rcParams['savefig.format'] = fmt
+
+ if matplotlib.__version__ < '1.2.0':
+ matplotlib.rcParams.update({'savefig.format': fmt})
+ else:
+ matplotlib.rcParams['savefig.format'] = fmt
# Interactive mode
interactive = _config['interactive']
@@ -80,6 +84,8 @@ def _on_config_change():
def _init_config():
dpi = matplotlib.rcParams['figure.dpi']
+ if matplotlib.__version__ < '1.2.0':
+ matplotlib.rcParams.update({'savefig.format': 'png'})
fmt = matplotlib.rcParams['savefig.format']
width, height = matplotlib.rcParams['figure.figsize']
fontsize = matplotlib.rcParams['font.size']