namhnguyen / asterixdb

Automatically exported from code.google.com/p/asterixdb
0 stars 0 forks source link

Having a bag of list of records generates a NPE #829

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Reproduce using the following definition:
=========================================
drop dataverse kereno if exists;
create dataverse kereno;
use dataverse kereno;

//*******
// TYPES:
//*******

//L1
create type page_info_type as open { // <== doesnt work even w closed type
s1: string,
s2: string
}

create type page_views_type as closed {
        id: int32, 
        user: string?,
        action: int32,
        timespent: int32,
        query_term: string?,
        ip_addr: int32,
        timestamp: int32,
        estimated_revenue: double?,
        page_info: [ page_info_type ],
        page_links: {{ [page_info_type] }}? //<== This is the source of the pb
}

Stack:
SEVERE: edu.uci.ics.hyracks.api.exceptions.HyracksDataException: 
edu.uci.ics.asterix.metadata.MetadataException: java.lang.NullPointerException
edu.uci.ics.asterix.metadata.MetadataException: 
edu.uci.ics.hyracks.api.exceptions.HyracksDataException: 
edu.uci.ics.asterix.metadata.MetadataException: java.lang.NullPointerException
    at edu.uci.ics.asterix.metadata.MetadataNode.addDatatype(MetadataNode.java:268)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)
    at sun.rmi.transport.Transport$1.run(Transport.java:174)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
    at com.sun.proxy.$Proxy13.addDatatype(Unknown Source)
    at edu.uci.ics.asterix.metadata.MetadataManager.addDatatype(MetadataManager.java:350)
    at edu.uci.ics.asterix.aql.translator.AqlTranslator.handleCreateTypeStatement(AqlTranslator.java:980)
    at edu.uci.ics.asterix.aql.translator.AqlTranslator.compileAndExecute(AqlTranslator.java:242)
    at edu.uci.ics.asterix.api.http.servlet.APIServlet.doPost(APIServlet.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:970)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:904)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
    at org.eclipse.jetty.server.Server.handle(Server.java:347)
    at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:439)
    at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:924)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:781)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:43)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
    at java.lang.Thread.run(Thread.java:722)
Caused by: edu.uci.ics.hyracks.api.exceptions.HyracksDataException: 
edu.uci.ics.asterix.metadata.MetadataException: java.lang.NullPointerException
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.writeRecordType(DatatypeTupleTranslator.java:386)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.writeDerivedTypeRecord(DatatypeTupleTranslator.java:293)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.getTupleFromMetadataEntity(DatatypeTupleTranslator.java:228)
    at edu.uci.ics.asterix.metadata.MetadataNode.addDatatype(MetadataNode.java:263)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)
    at sun.rmi.transport.Transport$1.run(Transport.java:174)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    ... 1 more
Caused by: edu.uci.ics.asterix.metadata.MetadataException: 
java.lang.NullPointerException
    at edu.uci.ics.asterix.metadata.MetadataNode.addDatatype(MetadataNode.java:268)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.handleNestedDerivedType(DatatypeTupleTranslator.java:433)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.writeRecordType(DatatypeTupleTranslator.java:380)
    ... 18 more
Caused by: java.lang.NullPointerException
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.writeCollectionType(DatatypeTupleTranslator.java:319)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.writeDerivedTypeRecord(DatatypeTupleTranslator.java:309)
    at edu.uci.ics.asterix.metadata.entitytupletranslators.DatatypeTupleTranslator.getTupleFromMetadataEntity(DatatypeTupleTranslator.java:228)
    at edu.uci.ics.asterix.metadata.MetadataNode.addDatatype(MetadataNode.java:263)
    ... 20 more

Original issue reported on code.google.com by ker...@gmail.com on 21 Nov 2014 at 2:40

GoogleCodeExporter commented 9 years ago
Isn't that related to issue761, which is already fixed?
I checked out version prior to that fix (bd90411) and do see the same 
stacktrace, but was not able to reproduce issue on master?

Original comment by ildar.absalyamov on 21 Nov 2014 at 5:08

GoogleCodeExporter commented 9 years ago
It seems related but the issue above remains despite the fix for issue 761.
Side note: I am working on Yingyi's branch (asterix_test) and the branch 
includes the fix.

Original comment by ker...@gmail.com on 24 Nov 2014 at 9:16

GoogleCodeExporter commented 9 years ago
Checked out yingyi/asterix_test but still cannot reproduce it. Are you sure the 
attached DDL is the one, triggering the issue?

Original comment by ildar.absalyamov on 25 Nov 2014 at 12:25

GoogleCodeExporter commented 9 years ago
Ildar, I can't reproduce the issue but I promise it did happen (I have a 
witness ;))
I am closing the issue. 

Thank you,
Keren

Original comment by ker...@gmail.com on 25 Nov 2014 at 12:55

GoogleCodeExporter commented 9 years ago
If you HIT it and it is not showing up now, that means it was either fixed OR 
it is going to show up sometime sooner or later. Stay tuned!! :-)

Original comment by khfaraaz82 on 25 Nov 2014 at 12:58