You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Armin Wasicek (JIRA)" <ji...@apache.org> on 2018/06/01 21:25:00 UTC
[jira] [Created] (ZEPPELIN-3524) com.amazonaws.util.json.JSONArray
is deprecated
Armin Wasicek created ZEPPELIN-3524:
---------------------------------------
Summary: com.amazonaws.util.json.JSONArray is deprecated
Key: ZEPPELIN-3524
URL: https://issues.apache.org/jira/browse/ZEPPELIN-3524
Project: Zeppelin
Issue Type: Bug
Components: zeppelin-zengine
Reporter: Armin Wasicek
Currently, Zeppelin uses \{{<aws.sdk.s3.version>1.10.77</aws.sdk.s3.version>}} that imports a JSON library that Amazon deprecated in subsequent releases:
Amazon moved to Jackson JSON parser:
{noformat}
Dropped usage of Json.org library in favor of Jackson.{noformat}
[https://aws.amazon.com/releasenotes/aws-sdk-for-java-1-11-0/]
Importing some other libraries in Zeppelin that use a higher version of the AWS SDK leads to a compile error (see below).
Amazon recommends:
{noformat}
If a project has the combination of a version clash and a limited total project size (e.g., AWS Lambda limits package size to 50MB), the bundled dependency might not be the right solution. Instead, you can build your own version of the AWS SDK for Java from the open sourced code on GitHub.{noformat}
[https://aws.amazon.com/blogs/developer/java-sdk-bundle/]
It might not be convenient to manage an extra version of the SDK for Zeppelin.
Concerned code is in org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java, \{{runAllParagraph}})
*Short-term solution*
Replace
{code:java}
import com.amazonaws.util.json.JSONObject;
import com.amazonaws.util.json.JSONArray;
import com.amazonaws.util.json.JSONException;{code}
with
{code:java}
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
{code}
*Better solution:*
Move to Jackson and bump up the Amazon AWS SDK version to 1.11.x
Compile error:
{noformat}
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project zeppelin-zengine: Compilation failure: Compilation failure:
[ERROR] /Users/armin/git/zeppelin/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java:[47,31] cannot find symbol
[ERROR] symbol: class JSONArray
[ERROR] location: package com.amazonaws.util.json
[ERROR] /Users/armin/git/zeppelin/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java:[48,31] cannot find symbol
[ERROR] symbol: class JSONException
[ERROR] location: package com.amazonaws.util.json
[ERROR] /Users/armin/git/zeppelin/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java:[49,31] cannot find symbol
[ERROR] symbol: class JSONObject
[ERROR] location: package com.amazonaws.util.json{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)