You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Chinmay Kulkarni (Jira)" <ji...@apache.org> on 2020/06/17 18:50:00 UTC
[jira] [Commented] (PHOENIX-5789) try to standardize on a JSON
library
[ https://issues.apache.org/jira/browse/PHOENIX-5789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17138728#comment-17138728 ]
Chinmay Kulkarni commented on PHOENIX-5789:
-------------------------------------------
[~RichardAntal] [~stoty]
I see DropChildViewTasks failing with the following exception which seem related to this change:
{noformat}
2020-06-17 11:20:23,863 WARN [pool-83-thread-1] coprocessor.TaskRegionObserver: Exception while running self healingtask. It will be retried in the next system task table scan : taskType : DROP_CHILD_VIEWSS.T with tenant id IS NULL and timestamp 2020-06-17 11:16:53.617
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at org.apache.phoenix.util.JacksonUtil.<clinit>(JacksonUtil.java:25)
at org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.setEndTaskStatus(TaskRegionObserver.java:249)
at org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.run(TaskRegionObserver.java:216)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
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)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more
{noformat}
Later I also saw a similar failure for one of that table's view's dropChildViewTask (I had created a hierarchy like:
Base Table -> child view -> grandchild view):
{noformat}
2020-06-17 11:21:53,927 WARN [pool-83-thread-1] coprocessor.TaskRegionObserver: Exception while running self healingtask. It will be retried in the next system task table scan : taskType : DROP_CHILD_VIEWSS1.V3 with tenant id IS NULL and timestamp 2020-06-17 11:20:18.839
java.lang.NoClassDefFoundError: Could not initialize class org.apache.phoenix.util.JacksonUtil
at org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.setEndTaskStatus(TaskRegionObserver.java:249)
at org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.run(TaskRegionObserver.java:216)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
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)
{noformat}
All in all, it looks like the task gets executed successfully however the step to set the end status fails ([here|https://github.com/apache/phoenix/blame/4.x/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TaskRegionObserver.java#L242]) since my SYSTEM.TASK still looks like this:
!Screen Shot 2020-06-17 at 11.45.44 AM.png|width=1000!
Can you guys please take a look?
> try to standardize on a JSON library
> ------------------------------------
>
> Key: PHOENIX-5789
> URL: https://issues.apache.org/jira/browse/PHOENIX-5789
> Project: Phoenix
> Issue Type: Improvement
> Components: core
> Reporter: Istvan Toth
> Assignee: Richard Antal
> Priority: Minor
> Fix For: 5.1.0, 4.16.0
>
> Attachments: PHOENIX-5789.4.x.v1.patch, PHOENIX-5789.4.x.v3.patch, PHOENIX-5789.4.x.v4.patch, PHOENIX-5789.4.x.v5.patch, PHOENIX-5789.4.x.v6.patch, PHOENIX-5789.4.x.v7.patch, PHOENIX-5789.master.addendum.patch, PHOENIX-5789.master.addendum.v2.patch, PHOENIX-5789.master.addendum.v3.patch, PHOENIX-5789.master.v1.patch, PHOENIX-5789.master.v2.patch, PHOENIX-5789.master.v3.patch, PHOENIX-5789.master.v4.patch, Screen Shot 2020-06-17 at 11.45.44 AM.png
>
>
> Phoenix uses at least the following JSON libraries:
> * gson
> * jackson
> * jettison
> Of these, only the jackson usage is performance critical, as it is used during bulk loading.
> Try to standardize on a single one to reduce dependency hell.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)