Uploaded image for project: 'Realm JavaScript SDK'
  1. Realm JavaScript SDK
  2. RJS-301

Abort due to "AddInteger not supported by adapter" when opening Realm.Sync.Adapter with catch-all regex

      When creating a Realm.Sync.Adapter with the catch-all regex ('.*'), there is an abort due to unsupported AddInteger.

      const adapter = new Realm.Sync.Adapter(
          './realm-object-server/',
          `realms://${realmUrl}`,
          this.activeUser,
          '.*', // <-- catch-all regex
          this.onAdapterEvent.bind(this)
      );
      

      Goals

      Open an adapter to monitor changes across any realm

      Expected Results

      Adapter opens successfully

      Actual Results

      ../src/object-store/src/server/adapter.cpp:435: [realm-core-5.19.1] AddInteger not supported by adapter.
      0   realm.node                          0x00000001071291dc _ZN5realm4utilL18terminate_internalERNSt3__118basic_stringstreamIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 28
      1   realm.node                          0x000000010712952d _ZN5realm4util9terminateEPKcS2_lOSt16initializer_listINS0_9PrintableEE + 541
      2   realm.node                          0x0000000106c943be _ZN5realm4sync11Instruction5visitIRN12_GLOBAL__N_133ChangesetCookerInstructionHandlerEEEDaOT_ + 11270
      3   realm.node                          0x0000000106d2e4d5 _ZN5realm4sync15ChangesetParser5State9parse_oneEv + 2981
      4   realm.node                          0x0000000106d2d878 _ZN5realm4sync15ChangesetParser5parseERNS_5_impl17NoCopyInputStreamERNS0_18InstructionHandlerE + 184
      5   realm.node                          0x0000000106c90eae _ZN12_GLOBAL__N_115ChangesetCooker14cook_changesetERKN5realm5GroupEPKcmRNS1_4util12AppendBufferIcNS7_16DefaultAllocatorEEE + 348
      6   realm.node                          0x0000000106d41667 _ZN12_GLOBAL__N_111HistoryImpl27integrate_server_changesetsERKN5realm4sync12SyncProgressEPKNS2_11Transformer15RemoteChangesetEmRNS2_11VersionInfoERNS2_17ClientHistoryBase16IntegrationErrorERNS1_4util6LoggerEPNSC_20SyncTransactReporterE + 1271
      7   realm.node                          0x0000000106d09908 _ZN5realm5_impl14ClientImplBase7Session29initiate_integrate_changesetsERKNS0_14ClientProtocol18ReceivedChangesetsE + 152
      8   realm.node                          0x0000000106d086bd _ZN5realm5_impl14ClientImplBase7Session24receive_download_messageERKNS_4sync12SyncProgressERKNS0_14ClientProtocol18ReceivedChangesetsE + 909
      9   realm.node                          0x0000000106d05a67 _ZN5realm5_impl14ClientProtocol22parse_message_receivedINS0_14ClientImplBase10ConnectionEEEvRT_PKcm + 6615
      10  realm.node                          0x0000000106d01126 _ZN5realm5_impl14ClientImplBase10Connection33websocket_binary_message_receivedEPKcm + 54
      11  realm.node                          0x0000000106d264cb _ZN12_GLOBAL__N_19WebSocket17frame_reader_loopEv + 1659
      12  realm.node                          0x0000000106d0c511 _ZN5realm4util7network7Service9AsyncOper22do_recycle_and_executeINSt3__18functionIFvNS5_10error_codeEmEEEJRS7_RmEEEvbRT_DpOT0_ + 209
      13  realm.node                          0x0000000106d0c222 _ZN5realm4util7network7Service14BasicStreamOpsINS1_3ssl6StreamEE16BufferedReadOperINSt3__18functionIFvNS8_10error_codeEmEEEE19recycle_and_executeEv + 98
      14  realm.node                          0x0000000106d18325 _ZN5realm4util7network7Service4Impl3runEv + 1109
      15  realm.node                          0x0000000106cd0b4d _ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZN5realm5_impl10SyncClientC1ENS2_INS7_4util6LoggerENS4_ISB_EEEENS7_4sync6Client13ReconnectModeEbRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEUlvE_EEEEEPvSR_ + 45
      16  libsystem_pthread.dylib             0x00007fff61ce82eb _pthread_body + 126
      17  libsystem_pthread.dylib             0x00007fff61ceb249 _pthread_start + 66
      18  libsystem_pthread.dylib             0x00007fff61ce740d thread_start + 13!!!
      

      Code snippet

      // test.js
      const realm = require('realm');
      
      const realmUrl = '<insert realm url>';
      
      Realm.Sync.User.login(
          `https://${realmUrl}`,
          Realm.Sync.Credentials.usernamePassword('admin', '<insert password here>')
      ).then((user) => {
          console.log('Logged in as user');
          const adapter = new Realm.Sync.Adapter(
              './realm-object-server/',
              `realms://${realmUrl}`,
              user,
              '.*',
              (path) => {
                  console.log(`Got event for path ${path}`);
              }
          );
      });
      

      Version of Realm and Tooling

      • Realm JS SDK Version: 3.0.0-beta.1
      • Node or React Native: Node v10.16.0
      • Client OS & Version: macOS Mojave 10.14.4

            Assignee:
            Unassigned Unassigned
            Reporter:
            chris.bush@mongodb.com Chris Bush
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: