Skip to content

Conversation

@kunalawari1999
Copy link

No description provided.

@tglman
Copy link
Member

tglman commented Nov 10, 2025

Hi,

I run the tests on this branch and I got some failures, on de develop branch everything pass:

  766 passing (26s)
  11 pending
  8 failing

  1) Bug #27: Slow compared to Restful API
       should load a lot of records quickly, using the rest raw command interface:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/bugs/27-slow.js:65:24)
      at process.processImmediate (node:internal/timers:483:21)

  2) Bug: rest deserialization order
       should not throw an error on deserializtion:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Db.open (lib/db/db.js:20:470)
      at Db.<anonymous> (lib/db/db.js:31:222)
      at /home/runner/work/orientjs/orientjs/lib/db/db.js:31:1583
  From previous event:
      at Db.retryIfExpired (lib/db/db.js:31:1495)
      at Db.send (lib/db/db.js:31:134)
      at Db.exec (lib/db/db.js:46:1070)
      at Db.query (lib/db/db.js:52:244)
      at child.exec (lib/db/query.js:48:231)
      at child.all (lib/db/query.js:36:86)
      at Context.<anonymous> (test/bugs/xxx-deserialize-order.js:34:46)
      at process.processImmediate (node:internal/timers:483:21)

  3) Rest Transport
       RestTransport::send()
         should handle errors correctly:
     TypeError: Cannot read properties of undefined (reading 'init')
      at OrientDBError (lib/errors/base.js:4:170)
      at child (lib/errors/base.js:17:239)
      at child (lib/errors/base.js:17:239)

  4) Rest Transport
       REST Operations
         Record Load
           should load a record:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/transport/rest/rest-transport-test.js:40:41)
      at process.processImmediate (node:internal/timers:483:21)

  5) Rest Transport
       REST Operations
         Record Load
           should load a record with a fetch plan:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/transport/rest/rest-transport-test.js:61:41)
      at process.processImmediate (node:internal/timers:483:21)

  6) Rest Transport
       REST Operations
         Db Open
           should open the database:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/transport/rest/rest-transport-test.js:86:41)
      at process.processImmediate (node:internal/timers:483:21)

  7) Rest Transport
       REST Operations
         Command
           should execute a query:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/transport/rest/rest-transport-test.js:106:41)
      at process.processImmediate (node:internal/timers:483:21)

  8) Rest Transport
       REST Operations
         Command
           should execute a parameterized query:
     TypeError: this.transport.send(...).bind is not a function
      at Server.withRetry (lib/server/index.js:31:480)
      at Server.<anonymous> (lib/server/index.js:31:227)
      at Server.send (lib/server/index.js:31:135)
      at Context.<anonymous> (test/transport/rest/rest-transport-test.js:121:41)
      at process.processImmediate (node:internal/timers:483:21)

@kunalawari1999
Copy link
Author

Hello,

I’m currently running the OrientJS test suite locally with develop branch and wanted to clarify the exact OrientDB environment you are using, as I’m seeing consistent failures that appear to be version/protocol related.

What I’ve done so far

  • OrientJS version: 3.2.46
  • OS: Windows
  • Node.js: latest LTS
  • OrientDB server is running locally and reachable (binary + HTTP).
  • Client/network tests pass successfully.

What I’m observing

The majority of failures happen in before all / after all hooks across DB-related tests (bug tests, DB API, session, migration, JWT, etc.).
All failing tests throw the same error during DB/session initialization:

OrientDB.RequestError:
Session open with token flag false is not supported anymore
please use token based sessions

This originates from:

lib/transport/binary/protocol33

and occurs when the test helper tries to create or open a database (e.g. createTestDb in test/index.js).

Test results summary

  • ~80 tests pass (serializer, parser, network, client API, etc.)
  • ~190 tests fail, all due to the session-open error above
  • Failures are consistent and reproducible

Assumption

From the error and behavior, it looks like:

  • OrientJS 3.2.46 opens sessions with token = false
  • The OrientDB server I’m running no longer supports non-token sessions
  • This causes every DB lifecycle hook to fail before test assertions run

Request for clarification

Since you mentioned that you’re able to run the full test suite successfully, could you please confirm:

  1. Which OrientDB version(s) are you using to run the OrientJS tests successfully?
  2. Are you using OrientDB 2.2.x / 3.0.x, or a newer 3.x release?
  3. Are there any specific server-side settings (session, security, token config) required for the tests?
  4. Is OrientJS 3.2.46 officially expected to pass tests against current OrientDB 3.x servers?

This information will help determine whether:

  • I should align my environment to a specific OrientDB version, or
  • There is a known compatibility gap with newer OrientDB releases.

Happy to share more logs or details if needed.
Thanks in advance for your guidance.

@tglman
Copy link
Member

tglman commented Dec 23, 2025

Hi,

Yes the test need some specific settings, like in the CI we use this script to download and configure the server, this is the configuration of the server used for the tests.

In the specific this are the two settings that are required for the test to pass:

        <entry name="network.binary.allowNoToken" value="true"/>
        <entry name="security.createDefaultUsers" value="true"/>

@kunalawari1999
Copy link
Author

Hi,
I ran the testcases on develop branch of OrientJS against OrientDB 3.0.44 (latest in 3.0.x)—the connection establishes successfully, but a subset of tests still fail.
Failures are mainly in Migration Manager, Record CRUD (dynamic linked fields), RID-based record access (invalid #-2:x), Transactions, and REST transport, suggesting behavior differences rather than setup issues.

On OrientDB 3.2.48, tests still fail early with
Session open with token flag false is not supported anymore, even after applying the suggested CI settings.

Please let me know if any additional config or test adjustments are required for 3.0.44, and what changes are recommended to support 3.2.48.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants