nestjs-express-cassandra icon indicating copy to clipboard operation
nestjs-express-cassandra copied to clipboard

Error initializing database

Open micobarac opened this issue 1 year ago • 0 comments

I'm submitting a...


[ ] Regression 
[ ] Bug report
[ ] Feature request
[x] Documentation issue or request

Current behavior

[Nest] 11754  - 01/31/2023, 11:43:20 AM   ERROR [ExpressCassandraModule] Error while retrieveing Schema of DB Table "ResponseError: Invalid amount of bind variables
    at FrameReader.readError (/Users/milan/Sites/cassandra-nest/node_modules/cassandra-driver/lib/readers.js:389:17)
    at Parser.parseBody (/Users/milan/Sites/cassandra-nest/node_modules/cassandra-driver/lib/streams.js:209:66)
    at Parser._transform (/Users/milan/Sites/cassandra-nest/node_modules/cassandra-driver/lib/streams.js:152:10)
    at Parser.Transform._write (node:internal/streams/transform:175:8)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at _write (node:internal/streams/writable:333:10)
    at Parser.Writable.write (node:internal/streams/writable:337:10)
    at Protocol.ondata (node:internal/streams/readable:766:22)
    at Protocol.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Protocol.Readable.push (node:internal/streams/readable:234:10)
    at Protocol.readItems (/Users/milan/Sites/cassandra-nest/node_modules/cassandra-driver/lib/streams.js:124:10)
    at Protocol._transform (/Users/milan/Sites/cassandra-nest/node_modules/cassandra-driver/lib/streams.js:47:10)
    at Protocol.Transform._write (node:internal/streams/transform:175:8)
    at writeOrBuffer (node:internal/streams/writable:392:12) {
  info: 'Represents an error message from the server',
  code: 8704,
  coordinator: '127.0.0.1:9042',
  query: 'SELECT view_name,base_table_name,where_clause,keyspace_name FROM system_schema.views WHERE keyspace_name=? AND base_table_name=? ALLOW FILTERING;'
}"

Expected behavior

I cannot find out why the error is being thrown...

Minimal reproduction of the problem with instructions

import { ExpressCassandraModuleOptions } from '@ouato/nestjs-express-cassandra';

export class CassandraConfig {
  static readonly options: ExpressCassandraModuleOptions = {
    clientOptions: {
      contactPoints: ['localhost'],
      localDataCenter: 'datacenter1',
      protocolOptions: {
        port: 9042,
      },
      queryOptions: {
        consistency: 1,
      },
      socketOptions: { readTimeout: 60000 },
      keyspace: 'employee',
    },
    ormOptions: {
      createKeyspace: true,
      defaultReplicationStrategy: {
        class: 'SimpleStrategy',
        replication_factor: 1,
      },
      migration: 'alter',
    },
  };
}
import {
  Column,
  CreateDateColumn,
  Entity,
  UpdateDateColumn,
} from '@ouato/nestjs-express-cassandra';

@Entity({
  table_name: 'employee',
  key: ['id'],
})
export class EmployeeEntity {
  @Column({ type: 'int' })
  id: number;

  @Column({ type: 'text' })
  name: string;

  @CreateDateColumn()
  created_at: Date;

  @UpdateDateColumn()
  updated_at: Date;
}
cqlsh:employee> desc employee;

CREATE KEYSPACE employee WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true;

CREATE TABLE employee.employee (
    id int PRIMARY KEY,
    created_at timestamp,
    name text,
    updated_at timestamp
) WITH additional_write_policy = '99p'
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND cdc = false
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '16', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND default_time_to_live = 0
    AND extensions = {}
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair = 'BLOCKING'
    AND speculative_retry = '99p';

CREATE TABLE employee.schema_version (
    script_name text PRIMARY KEY,
    checksum text,
    executed_by text,
    executed_on timestamp,
    execution_time int,
    status text
) WITH additional_write_policy = '99p'
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND cdc = false
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '16', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND default_time_to_live = 0
    AND extensions = {}
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair = 'BLOCKING'
    AND speculative_retry = '99p';

What is the motivation / use case for changing the behavior?

Get data from database.

Environment


Nest version: v18.12.1
 
For Tooling issues:
- Node version: v18.12.1
- Platform:  macOS Ventura Version 13.1 (22C65)

micobarac avatar Jan 31 '23 10:01 micobarac