You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Byunghwa Yun (JIRA)" <ji...@apache.org> on 2016/01/06 04:27:39 UTC

[jira] [Created] (TAJO-2036) Prevent out of memory in the master server, if the query result is large

Byunghwa Yun created TAJO-2036:
----------------------------------

             Summary: Prevent out of memory in the master server, if the query result is large
                 Key: TAJO-2036
                 URL: https://issues.apache.org/jira/browse/TAJO-2036
             Project: Tajo
          Issue Type: Improvement
          Components: Web UI
    Affects Versions: 0.11.1
            Reporter: Byunghwa Yun
            Assignee: Byunghwa Yun
            Priority: Minor
             Fix For: 0.12.0, 0.11.1


Tajo Master server is a no response below situation.

Test SQL:
select col1, col2, .... col100 from big_table
(big_table has rows: 1,000,000,000)

Web UI parameters:
Limit : 10MB
Rows/Page : 25

Master Server Log:
2016-01-06 10:35:59,973 INFO org.apache.tajo.tuple.memory.ResizableMemoryBlock: Increase DirectRowBlock to 64.0 KiB
2016-01-06 10:36:00,739 INFO org.apache.tajo.tuple.memory.ResizableMemoryBlock: Increase DirectRowBlock to 64.0 KiB
2016-01-06 10:36:01,316 INFO org.apache.tajo.master.exec.NonForwardQueryResultFileScanner: "Sent result to client for 7cba1175-e77b-4876-957d-2ff8722e940b, queryId: q_1452043069985_0001  rows: 3986313
2016-01-06 10:36:49,561 INFO org.apache.tajo.util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 6385ms
GC pool 'PS MarkSweep' had collection(s): count=1 time=5460ms
GC pool 'PS Scavenge' had collection(s): count=1 time=993ms
2016-01-06 10:37:03,102 WARN org.apache.tajo.util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 10587ms
GC pool 'PS MarkSweep' had collection(s): count=1 time=10669ms
GC pool 'PS Scavenge' had collection(s): count=1 time=401ms

Master Server Stacktrace: 
"pool-11-thread-1" #379 prio=5 os_prio=0 tid=0x00007f47d424d000 nid=0xe26c waiting on condition [0x00007f4834cfa000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x000000076e9c7220> (a com.google.common.util.concurrent.AbstractFuture$Sync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111)
        at org.apache.tajo.jdbc.FetchResultSet.nextTuple(FetchResultSet.java:77)
        at org.apache.tajo.jdbc.TajoResultSetBase.next(TajoResultSetBase.java:711)
        at org.apache.tajo.webapp.QueryExecutorServlet$QueryRunner.MakeResultText(QueryExecutorServlet.java:511)
        at org.apache.tajo.webapp.QueryExecutorServlet$QueryRunner.getQueryResult(QueryExecutorServlet.java:466)
        at org.apache.tajo.webapp.QueryExecutorServlet$QueryRunner.run(QueryExecutorServlet.java:347)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        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)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)