Search code examples
kunderacassandra-2.1

com.impetus.kundera.KunderaException: org.apache.thrift.transport.TTransportException: Read a negative frame size


I am trying load testing by inserting 60k rows in cassandra and after few thousand i run into below error

com.impetus.kundera.KunderaException: org.apache.thrift.transport.TTransportException: Read a negative frame size

Code Details

Cassndra Version : 2.1.10

<persistence-unit name="abc_pu">
        <provider>com.impetus.kundera.KunderaPersistence</provider>
        <class>com.mycompany.model.abc.ClusteredData</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
            <property name="kundera.nodes" value="nosql.bankbazaar.com"/>
            <property name="kundera.port" value="9160"/>
            <property name="kundera.keyspace" value="mydb"/>
            <property name="kundera.dialect" value="cassandra"/>
            <property name="kundera.annotations.scan.package" value="com.myCompany.model.abc"/>
            <property name="kundera.client" value="Pelops"/>
            <property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.pelops.PelopsClientFactory" />

        </properties>
    </persistence-unit>

Libraries used

<dependency>
            <groupId>com.impetus.kundera.client</groupId>
            <artifactId>kundera-cassandra</artifactId>
            <version>3.0</version>
            <exclusions>
                <exclusion>
                    <groupId>javax</groupId>
                    <artifactId>javaee-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.cassandra</groupId>
            <artifactId>cassandra-all</artifactId>
            <version>2.1.9</version>
            <exclusions>
                <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>com.impetus.kundera.client</groupId>
            <artifactId>kundera-cassandra-ds-driver</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>com.impetus.kundera.client</groupId>
            <artifactId>kundera-cassandra-pelops</artifactId>
            <version>3.0</version>
        </dependency>

Solution

  • Would request you to migrate from Pelops to Kundera's thrift or DataStax CQL driver(supported by Kundera as well). Here is the link:

    https://github.com/impetus-opensource/Kundera/tree/4bc732ebeea971d0449e4bf67a70023e83a72a8b/src/kundera-cassandra/cassandra-ds-driver/src/test/java/com/impetus/client/crud