Error creating index

Tagged: 

This topic contains 2 replies, has 2 voices, and was last updated by  dvergari 1 month, 1 week ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #766325

    dvergari
    Participant

    Hi all,
    I’m running splice 2.0.1 on a CDH 5.8.3 cluster. When I try to create an index I get the following error from the command line:

    ERROR 08006: A network protocol error was encountered and the connection has been terminated: the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message (additional information may be available in the derby.log file on the server)
    ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: A communications error has been detected: {0}.::SQLSTATE: XJ001Java exception: 'unread block data: java.lang.IllegalStateException'.

    The statement is very simple:

    create table test (a integer, b varchar(10));
    create index testindex on test (b);

    From the log I can see the following exception

    SESSIONID = 103), (DATABASE = splicedb), (DRDAID = ��������.����-4269129487186537135{10}), Failed Statement is: create index testindex on test (b)
    ERROR 08006: A communications error has been detected: {0}.
    Splice Machine Release: 2.0.1.39
    Splice Machine Version Hash: bdc58838db
    Splice Machine Build Time: 2016-12-15 02:25 +0000
    	at com.splicemachine.db.iapi.error.StandardException.newException(StandardException.java:306)
    	at com.splicemachine.pipeline.ErrorState.newException(ErrorState.java:2015)
    	at com.splicemachine.pipeline.Exceptions.parseException(Exceptions.java:56)
    	at com.splicemachine.pipeline.Exceptions.parseException(Exceptions.java:37)
    	at com.splicemachine.derby.impl.sql.execute.actions.IndexConstantOperation.populateIndex(IndexConstantOperation.java:177)
    	at com.splicemachine.derby.impl.sql.execute.actions.CreateIndexConstantOperation.createAndPopulateIndex(CreateIndexConstantOperation.java:801)
    	at com.splicemachine.derby.impl.sql.execute.actions.CreateIndexConstantOperation.executeConstantAction(CreateIndexConstantOperation.java:572)
    	at com.splicemachine.derby.impl.sql.execute.operations.MiscOperation.getDataSet(MiscOperation.java:115)
    	at com.splicemachine.derby.impl.sql.execute.operations.SpliceBaseOperation.openCore(SpliceBaseOperation.java:408)
    	at com.splicemachine.derby.impl.sql.execute.operations.SpliceBaseOperation.openCore(SpliceBaseOperation.java:426)
    	at com.splicemachine.derby.impl.sql.execute.operations.SpliceBaseOperation.open(SpliceBaseOperation.java:276)
    	at com.splicemachine.db.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:381)
    	at com.splicemachine.db.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:275)
    	at com.splicemachine.db.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1246)
    	at com.splicemachine.db.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:632)
    	at com.splicemachine.db.impl.jdbc.EmbedStatement.executeUpdate(EmbedStatement.java:174)
    	at com.splicemachine.db.impl.drda.DRDAConnThread.parseEXCSQLIMM(DRDAConnThread.java:5224)
    	at com.splicemachine.db.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:785)
    	at com.splicemachine.db.impl.drda.DRDAConnThread.run(DRDAConnThread.java:301)
    Caused by: java.lang.IllegalStateException: unread block data
    	at java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2421)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1382)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    	at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:76)
    	at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:115)
    	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:207)
    	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:745)
    ============= begin nested exception, level (1) ===========
    java.lang.IllegalStateException: unread block data
    	at java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2421)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1382)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    	at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:76)
    	at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:115)
    	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:207)
    	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:745)
    ============= end nested exception, level (1) ===========
    Cleanup action completed
    

    Does anyone know how to solve the issue?

    thank you very much,

    D.

    #766327

    waydev
    Participant

    Are you using authentication via Kerberos by any chance?

    #766589

    dvergari
    Participant

    No, we’re using simple authentication. We’re getting this error also if we try to run a simple query on splice using spark. For example, if I run the following query:

    splice> select top 1 * from sys.systables ;
    TABLEID                             |TABLENAME                                                                                                                       |&|SCHEMAID                            |&|VERSION                                                                                                                         |COLSEQUENCE
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    c851401a-0159-a764-5780-0001768c0b18|TX221_MOV_TRC_LOT                                                                                                               |T|004b0019-0159-a764-5780-0001768c0b18|R|2.0                                                                                                                             |23         
    
    1 row selected
    splice>

    all runs fine. But if I run the previous query using spark I get the following:

    splice> select * from sys.systables --splice-properties useSpark=true
    > ;
    ERROR 58009: Network protocol exception: DSS length not 0 at end of same id chain parse.  The connection has been terminated.
    ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: A communications error has been detected: {0}.::SQLSTATE: XJ001Java exception: 'unread block data: java.lang.IllegalStateException'.
    splice> 

    It seems to be a version mismatch error, anyone knows why it happens?

    thank you

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.