You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Jianfeng Jia (JIRA)" <ji...@apache.org> on 2017/05/17 16:41:04 UTC
[jira] [Assigned] (ASTERIXDB-1912) ClosedChannelException throws
after canceling several queries
[ https://issues.apache.org/jira/browse/ASTERIXDB-1912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jianfeng Jia reassigned ASTERIXDB-1912:
---------------------------------------
Assignee: Yingyi Bu
> ClosedChannelException throws after canceling several queries
> --------------------------------------------------------------
>
> Key: ASTERIXDB-1912
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1912
> Project: Apache AsterixDB
> Issue Type: Bug
> Environment: master
> Reporter: Jianfeng Jia
> Assignee: Yingyi Bu
>
> It seems the canceling task closed some resource that shouldn't be closed.
> Here is the sequence to reproduce the issue
> {code}
> host="http://localhost:19002"
> cat <<-'EOF' | curl -XPOST -d @- $host/query/service &
> client_context_id=1&
> statement=
> select coll_count(
> (select value c from (select value t
> from twitter.ds_tweet t
> where t.`create_at` >= datetime('2017-01-01T12:16:00.000Z') and t.`create_at` < datetime('2017-01-12T13:16:00.000Z') and ftcontains(t.`text`, ['rain'], {'mode':'all'})) as c)
> ) as `count`;
> EOF
> sleep 1
> #t.`create_at` >= datetime('2016-11-27T08:00:00.000Z') and t.`create_at` < datetime('2016-11-28T08:00:00.000Z') and
> var=`curl -v -XDELETE $host/admin/requests/running?client_context_id=1`
> echo $var
> cat <<-'EOF' | curl -XPOST -d @- $host/query/service
> client_context_id=2&
> statement=
> select coll_count(
> (select value c from (select value t
> from twitter.ds_tweet t
> where t.`create_at` >= datetime('2016-12-12T12:16:00.000Z') and t.`create_at` < datetime('2016-12-12T13:16:00.000Z') and ftcontains(t.`text`, ['rain'], {'mode':'all'})) as c)
> ) as `count`;
> EOF
> {code}
> The first command sent a query, the second one canceled it after 1 second. These two worked fine.
> Then if we submit the third query, the following exception will be thrown:
> {code}
> SEVERE: java.util.concurrent.ExecutionException: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException: java.nio.channels.ClosedChannelException
> org.apache.hyracks.api.exceptions.HyracksDataException: java.util.concurrent.ExecutionException: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException: java.nio.channels.ClosedChannelException
> at org.apache.hyracks.api.exceptions.HyracksDataException.create(HyracksDataException.java:58)
> at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:62)
> at org.apache.hyracks.control.nc.Task.run(Task.java:330)
> 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:744)
> Caused by: java.util.concurrent.ExecutionException: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException: java.nio.channels.ClosedChannelException
> 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:210)
> at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.initialize(SuperActivityOperatorNodePushable.java:80)
> at org.apache.hyracks.control.nc.Task.run(Task.java:273)
> ... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException: java.nio.channels.ClosedChannelException
> at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:194)
> at org.apache.hyracks.dataflow.common.comm.io.AbstractFrameAppender.write(AbstractFrameAppender.java:92)
> at org.apache.hyracks.dataflow.common.comm.util.FrameUtils.appendToWriter(FrameUtils.java:117)
> at org.apache.hyracks.dataflow.std.sort.AbstractFrameSorter.flush(AbstractFrameSorter.java:172)
> at org.apache.hyracks.dataflow.std.sort.AbstractExternalSortRunMerger.process(AbstractExternalSortRunMerger.java:90)
> at org.apache.hyracks.dataflow.std.sort.AbstractSorterOperatorDescriptor$MergeActivity$1.initialize(AbstractSorterOperatorDescriptor.java:181)
> at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.lambda$initialize$1(SuperActivityOperatorNodePushable.java:80)
> at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable$$Lambda$51/1152642867.run(Unknown Source)
> at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.lambda$runInParallel$3(SuperActivityOperatorNodePushable.java:202)
> at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable$$Lambda$52/69643057.call(Unknown Source)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: java.nio.channels.ClosedChannelException
> at org.apache.hyracks.control.nc.io.IOManager.syncRead(IOManager.java:209)
> at org.apache.hyracks.storage.common.buffercache.BufferCache.read(BufferCache.java:537)
> at org.apache.hyracks.storage.common.buffercache.BufferCache.pin(BufferCache.java:213)
> at org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:562)
> at org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:593)
> at org.apache.hyracks.storage.am.btree.impls.BTree.search(BTree.java:199)
> at org.apache.hyracks.storage.am.btree.impls.BTree.access$200(BTree.java:68)
> at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.search(BTree.java:883)
> at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreePointSearchCursor.hasNext(LSMBTreePointSearchCursor.java:71)
> at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeSearchCursor.hasNext(LSMBTreeSearchCursor.java:59)
> at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.writeSearchResults(IndexSearchOperatorNodePushable.java:155)
> at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:191)
> ... 13 more
> Caused by: java.nio.channels.ClosedChannelException
> at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:94)
> at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:673)
> at org.apache.hyracks.control.nc.io.IOManager.syncRead(IOManager.java:197)
> ... 24 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)