Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-874

Sometimes InvalidOperationException occurs when aggregates TableStat.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.0
    • Component/s: None
    • Labels:
      None

      Description

      2014-06-09 20:25:30,074 ERROR org.apache.tajo.master.querymaster.SubQuery:
      org.apache.tajo.exception.InvalidOperationException
              at org.apache.tajo.datum.TextDatum.compareTo(TextDatum.java:113)
              at org.apache.tajo.catalog.statistics.StatisticsUtil.aggregateTableStat(StatisticsUtil.java:122)
              at org.apache.tajo.master.querymaster.SubQuery.computeStatFromTasks(SubQuery.java:539)
              at org.apache.tajo.master.querymaster.SubQuery.finalizeStats(SubQuery.java:571)
              at org.apache.tajo.master.querymaster.SubQuery.complete(SubQuery.java:370)
              at org.apache.tajo.master.querymaster.SubQuery$SubQueryCompleteTransition.transition(SubQuery.java:1128)
              at org.apache.tajo.master.querymaster.SubQuery$SubQueryCompleteTransition.transition(SubQuery.java:1100)
              at org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
              at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
              at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
              at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
              at org.apache.tajo.master.querymaster.SubQuery.handle(SubQuery.java:599)
              at org.apache.tajo.master.querymaster.QueryMasterTask$SubQueryEventDispatcher.handle(QueryMasterTask.java:247)
              at org.apache.tajo.master.querymaster.QueryMasterTask$SubQueryEventDispatcher.handle(QueryMasterTask.java:241)
              at org.apache.tajo.master.TajoAsyncDispatcher.dispatch(TajoAsyncDispatcher.java:137)
              at org.apache.tajo.master.TajoAsyncDispatcher$1.run(TajoAsyncDispatcher.java:79)
              at java.lang.Thread.run(Thread.java:744)
      

        Activity

        Hide
        githubbot ASF GitHub Bot added a comment -

        GitHub user babokim opened a pull request:

        https://github.com/apache/tajo/pull/38

        TAJO-874: Sometimes InvalidOperationException occurs when aggregates TableStat.

        It is difficult to reproduce. So I added exception handling logic and type name in InvalidOperationException.

        You can merge this pull request into a Git repository by running:

        $ git pull https://github.com/babokim/tajo TAJO-874

        Alternatively you can review and apply these changes as the patch at:

        https://github.com/apache/tajo/pull/38.patch

        To close this pull request, make a commit to your master/trunk branch
        with (at least) the following in the commit message:

        This closes #38


        commit e07341bd38821777ae0056c84fbb3122d811c12a
        Author: 김형준 <babokim@babokim-macbook-pro.local>
        Date: 2014-06-15T00:38:34Z

        TAJO-874: Sometimes InvalidOperationException occurs when aggregates TableStat.


        Show
        githubbot ASF GitHub Bot added a comment - GitHub user babokim opened a pull request: https://github.com/apache/tajo/pull/38 TAJO-874 : Sometimes InvalidOperationException occurs when aggregates TableStat. It is difficult to reproduce. So I added exception handling logic and type name in InvalidOperationException. You can merge this pull request into a Git repository by running: $ git pull https://github.com/babokim/tajo TAJO-874 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tajo/pull/38.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #38 commit e07341bd38821777ae0056c84fbb3122d811c12a Author: 김형준 <babokim@babokim-macbook-pro.local> Date: 2014-06-15T00:38:34Z TAJO-874 : Sometimes InvalidOperationException occurs when aggregates TableStat.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user hyunsik commented on the pull request:

        https://github.com/apache/tajo/pull/38#issuecomment-46942196

        I'm facing the following errors from both 'maven clean install' and Junit test execution in IntelliJ. Could you check it?

        ```
        2014-06-24 16:56:51,377 INFO: org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit (logAuditMessage(7409)) - allowed=true ugi=hyunsik (auth:SIMPLE) ip=/127.0.0.1 cmd=getfileinfo src=/tajo/warehouse/table14 dst=null perm=null
        2014-06-24 16:56:51,378 INFO: org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit (logAuditMessage(7409)) - allowed=true ugi=hyunsik (auth:SIMPLE) ip=/127.0.0.1 cmd=contentSummary src=/tajo/warehouse/table14 dst=null perm=null
        2014-06-24 16:56:51,378 INFO: org.apache.tajo.catalog.CatalogServer (createTable(523)) - relation "default.table14" is added to the catalog (127.0.0.1:16371)
        2014-06-24 16:56:51,378 INFO: org.apache.tajo.master.GlobalEngine (createTableOnPath(742)) - Table default.table14 is created (48)

        org.jboss.netty.channel.ChannelException: Failed to create a selector.
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:337)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.<init>(AbstractNioSelector.java:95)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:53)
        at org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:45)
        at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45)
        at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:99)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:69)
        at org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:39)
        at org.apache.tajo.rpc.RpcChannelFactory.createClientChannelFactory(RpcChannelFactory.java:71)
        at org.apache.tajo.rpc.RpcConnectionPool.newPool(RpcConnectionPool.java:58)
        at org.apache.tajo.client.TajoClient.<init>(TajoClient.java:104)
        at org.apache.tajo.client.TajoClient.<init>(TajoClient.java:82)
        at org.apache.tajo.TajoTestingCluster.createTable(TajoTestingCluster.java:605)
        at org.apache.tajo.TajoTestingCluster.createTable(TajoTestingCluster.java:591)
        at org.apache.tajo.engine.query.TestJoinQuery.createOuterJoinTestTable(TestJoinQuery.java:936)
        at org.apache.tajo.engine.query.TestJoinQuery.testLeftOuterJoinPredicationCaseByCase3(TestJoinQuery.java:643)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.junit.runners.Suite.runChild(Suite.java:127)
        at org.junit.runners.Suite.runChild(Suite.java:26)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.junit.runners.Suite.runChild(Suite.java:127)
        at org.junit.runners.Suite.runChild(Suite.java:26)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
        at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
        at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
        at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
        Caused by: java.io.IOException: Too many open files
        at sun.nio.ch.IOUtil.makePipe(Native Method)
        at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:65)
        at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36)
        at java.nio.channels.Selector.open(Selector.java:227)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:335)
        ... 62 more
        ```

        Show
        githubbot ASF GitHub Bot added a comment - Github user hyunsik commented on the pull request: https://github.com/apache/tajo/pull/38#issuecomment-46942196 I'm facing the following errors from both 'maven clean install' and Junit test execution in IntelliJ. Could you check it? ``` 2014-06-24 16:56:51,377 INFO: org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit (logAuditMessage(7409)) - allowed=true ugi=hyunsik (auth:SIMPLE) ip=/127.0.0.1 cmd=getfileinfo src=/tajo/warehouse/table14 dst=null perm=null 2014-06-24 16:56:51,378 INFO: org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit (logAuditMessage(7409)) - allowed=true ugi=hyunsik (auth:SIMPLE) ip=/127.0.0.1 cmd=contentSummary src=/tajo/warehouse/table14 dst=null perm=null 2014-06-24 16:56:51,378 INFO: org.apache.tajo.catalog.CatalogServer (createTable(523)) - relation "default.table14" is added to the catalog (127.0.0.1:16371) 2014-06-24 16:56:51,378 INFO: org.apache.tajo.master.GlobalEngine (createTableOnPath(742)) - Table default.table14 is created (48) org.jboss.netty.channel.ChannelException: Failed to create a selector. at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:337) at org.jboss.netty.channel.socket.nio.AbstractNioSelector.<init>(AbstractNioSelector.java:95) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:53) at org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:45) at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45) at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28) at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:99) at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:69) at org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:39) at org.apache.tajo.rpc.RpcChannelFactory.createClientChannelFactory(RpcChannelFactory.java:71) at org.apache.tajo.rpc.RpcConnectionPool.newPool(RpcConnectionPool.java:58) at org.apache.tajo.client.TajoClient.<init>(TajoClient.java:104) at org.apache.tajo.client.TajoClient.<init>(TajoClient.java:82) at org.apache.tajo.TajoTestingCluster.createTable(TajoTestingCluster.java:605) at org.apache.tajo.TajoTestingCluster.createTable(TajoTestingCluster.java:591) at org.apache.tajo.engine.query.TestJoinQuery.createOuterJoinTestTable(TestJoinQuery.java:936) at org.apache.tajo.engine.query.TestJoinQuery.testLeftOuterJoinPredicationCaseByCase3(TestJoinQuery.java:643) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) Caused by: java.io.IOException: Too many open files at sun.nio.ch.IOUtil.makePipe(Native Method) at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:65) at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36) at java.nio.channels.Selector.open(Selector.java:227) at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:335) ... 62 more ```
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user hyunsik commented on the pull request:

        https://github.com/apache/tajo/pull/38#issuecomment-46942388

        Additionally, the latest patch needs rebase. I tried to rebase the patch against the latest revision. The above problem may be caused by my incorrect rebase.

        Show
        githubbot ASF GitHub Bot added a comment - Github user hyunsik commented on the pull request: https://github.com/apache/tajo/pull/38#issuecomment-46942388 Additionally, the latest patch needs rebase. I tried to rebase the patch against the latest revision. The above problem may be caused by my incorrect rebase.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user babokim commented on the pull request:

        https://github.com/apache/tajo/pull/38#issuecomment-47071960

        Merged with trunk and test passed

        Show
        githubbot ASF GitHub Bot added a comment - Github user babokim commented on the pull request: https://github.com/apache/tajo/pull/38#issuecomment-47071960 Merged with trunk and test passed
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user hyunsik commented on the pull request:

        https://github.com/apache/tajo/pull/38#issuecomment-47076286

        +1

        LGTM!

        Show
        githubbot ASF GitHub Bot added a comment - Github user hyunsik commented on the pull request: https://github.com/apache/tajo/pull/38#issuecomment-47076286 +1 LGTM!
        Hide
        hyunsik Hyunsik Choi added a comment -

        committed it to master branch. Thanks!

        Show
        hyunsik Hyunsik Choi added a comment - committed it to master branch. Thanks!
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user asfgit closed the pull request at:

        https://github.com/apache/tajo/pull/38

        Show
        githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/tajo/pull/38
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #263 (See https://builds.apache.org/job/Tajo-master-build/263/)
        TAJO-874: Sometimes InvalidOperationException occurs when aggregates TableStat. (Hyoungjun Kim via hyunsik) (hyunsik: rev 4165f33984368c3f0ff504ff65a3f3c0d6904712)

        • tajo-common/src/main/java/org/apache/tajo/datum/IntervalDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/statistics/StatisticsUtil.java
        • CHANGES
        • tajo-common/src/main/java/org/apache/tajo/datum/Int8Datum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/CharDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/TimeDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/Float4Datum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/DateDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/TimestampDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/TextDatum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/Int4Datum.java
        • tajo-common/src/main/java/org/apache/tajo/datum/Int2Datum.java
        • tajo-storage/src/main/java/org/apache/tajo/storage/TableStatistics.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #263 (See https://builds.apache.org/job/Tajo-master-build/263/ ) TAJO-874 : Sometimes InvalidOperationException occurs when aggregates TableStat. (Hyoungjun Kim via hyunsik) (hyunsik: rev 4165f33984368c3f0ff504ff65a3f3c0d6904712) tajo-common/src/main/java/org/apache/tajo/datum/IntervalDatum.java tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/statistics/StatisticsUtil.java CHANGES tajo-common/src/main/java/org/apache/tajo/datum/Int8Datum.java tajo-common/src/main/java/org/apache/tajo/datum/CharDatum.java tajo-common/src/main/java/org/apache/tajo/datum/TimeDatum.java tajo-common/src/main/java/org/apache/tajo/datum/Float4Datum.java tajo-common/src/main/java/org/apache/tajo/datum/DateDatum.java tajo-common/src/main/java/org/apache/tajo/datum/TimestampDatum.java tajo-common/src/main/java/org/apache/tajo/datum/TextDatum.java tajo-common/src/main/java/org/apache/tajo/datum/Int4Datum.java tajo-common/src/main/java/org/apache/tajo/datum/Int2Datum.java tajo-storage/src/main/java/org/apache/tajo/storage/TableStatistics.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #264 (See https://builds.apache.org/job/Tajo-master-build/264/)
        TAJO-874: Sometimes InvalidOperationException occurs when aggregates TableStat. (Hyoungjun Kim via hyunsik) (hyunsik: rev d7c2c957a9b402f3847ef56bd1903d66c02b6bee)

        • CHANGES
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #264 (See https://builds.apache.org/job/Tajo-master-build/264/ ) TAJO-874 : Sometimes InvalidOperationException occurs when aggregates TableStat. (Hyoungjun Kim via hyunsik) (hyunsik: rev d7c2c957a9b402f3847ef56bd1903d66c02b6bee) CHANGES

          People

          • Assignee:
            hjkim Hyoungjun Kim
            Reporter:
            hjkim Hyoungjun Kim
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development