[
https://issues.apache.org/jira/browse/ASTERIXDB-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15409583#comment-15409583
]
Wail Alkowaileet commented on ASTERIXDB-1565:
---------------------------------------------
I found this bug as well.
It seems that there are some "race condition". I solved the problem by making
the method start() synchronized in:
{nofromat}
org.apache.asterix.external.dataflow.FeedRecordDataFlowController
{noformat}
It's probably not the best way to do it. But I needed to do a demo and that's
the quickest solution.
> Twitter Feed not working properly after feed update
> ---------------------------------------------------
>
> Key: ASTERIXDB-1565
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1565
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: Feeds
> Reporter: Xikui Wang
>
> I found the Twitter Feed is not working properly after the recent
> modifications to the feed part. Following exceptions is captured using the
> twitter feed example on our website.
> <quote>
> 2016-08-05 22:02:07,424 WARN [pool-21-thread-1]
> dataflow.FeedRecordDataFlowController
> (FeedRecordDataFlowController.java:start(101)) - Failure while operating a
> feed source
> java.lang.IllegalMonitorStateException
> at java.lang.Object.wait(Native Method)
> at
> org.apache.asterix.external.dataflow.FeedRecordDataFlowController.start(FeedRecordDataFlowController.java:87)
> at
> org.apache.asterix.external.dataset.adapter.FeedAdapter.start(FeedAdapter.java:36)
> at
> org.apache.asterix.external.feed.runtime.AdapterExecutor.run(AdapterExecutor.java:57)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> 2016-08-05 22:02:07,425 ERROR [pool-21-thread-1] runtime.AdapterExecutor
> (AdapterExecutor.java:run(61)) - Exception during feed ingestion
> org.apache.hyracks.api.exceptions.HyracksDataException: null
> at
> org.apache.asterix.external.dataflow.FeedRecordDataFlowController.start(FeedRecordDataFlowController.java:102)
> at
> org.apache.asterix.external.dataset.adapter.FeedAdapter.start(FeedAdapter.java:36)
> at
> org.apache.asterix.external.feed.runtime.AdapterExecutor.run(AdapterExecutor.java:57)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalMonitorStateException
> at java.lang.Object.wait(Native Method)
> at
> org.apache.asterix.external.dataflow.FeedRecordDataFlowController.start(FeedRecordDataFlowController.java:87)
> ... 5 more
> org.apache.hyracks.api.exceptions.HyracksDataException:
> java.util.ConcurrentModificationException
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.runInParallel(SuperActivityOperatorNodePushable.java:218)
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.initialize(SuperActivityOperatorNodePushable.java:83)
> at org.apache.hyracks.control.nc.Task.run(Task.java:263)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.concurrent.ExecutionException:
> java.util.ConcurrentModificationException
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.runInParallel(SuperActivityOperatorNodePushable.java:212)
> ... 5 more
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
> at java.util.ArrayList$Itr.next(ArrayList.java:851)
> at
> org.apache.asterix.external.feed.runtime.IngestionRuntime.terminate(IngestionRuntime.java:78)
> at
> org.apache.asterix.external.operators.FeedIntakeOperatorNodePushable.initialize(FeedIntakeOperatorNodePushable.java:107)
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.lambda$initialize$0(SuperActivityOperatorNodePushable.java:83)
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable$1.call(SuperActivityOperatorNodePushable.java:205)
> at
> org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable$1.call(SuperActivityOperatorNodePushable.java:202)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ... 3 more
> 2016-08-05 22:02:07,438 INFO [ActiveJobNotificationHandler]
> management.FeedEventsListener
> (FeedEventsListener.java:handleJobFinishEvent(132)) - Intake Job finished for
> feed intake JID:23
> 2016-08-05 22:02:07,439 INFO [ActiveJobNotificationHandler]
> management.FeedEventsListener
> (FeedEventsListener.java:deregisterFeedIntakeJob(191)) - Deregistered feed
> intake job [JID:23]
> Aug 05, 2016 10:02:07 PM org.apache.hyracks.control.nc.Joblet close
> WARNING: Freeing leaked 16384 bytes
> 2016-08-05 22:02:07,445 INFO [ActiveJobNotificationHandler]
> management.FeedEventsListener
> (FeedEventsListener.java:handleJobFinishEvent(126)) - Collect Job finished
> for JID:24 [FEED_CONNECT]
> 2016-08-05 22:02:07,446 INFO [ActiveJobNotificationHandler]
> management.FeedEventsListener
> (FeedEventsListener.java:handleFeedCollectJobFinishMessage(384)) -
> Subscription feeds.TwitterFeed(Feed)-->Tweets completed successfully. Removed
> subscription
> </quote>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)