2 Replies Latest reply: Aug 28, 2011 10:44 PM by 596578 RSS

    bdb replication is vulnerable

    596578
      we use bdb(5.2.28) repmgr to build a replication environment.
      after connect a bdb communication channel's port, input some words, bdb will panic
      how to fix it?
      -------------------------------------
      #connect to the bdb replication's port
      [test@localhost]$ telnet 127.0.0.1 1234(1234 is the port of)
      Trying 127.0.0.1...
      Connected to 127.0.0.1 (127.0.0.1).
      Escape character is '^]'.
      get /
      -------------------------------------
      #bdb program will get panic
      [rep_test] [Fri Aug 26 12:02:40 2011] "[1314331360:578206][10918/2651675536] rep_test: accepted a new connection"
      [rep_test] [Fri Aug 26 12:02:58 2011] "BDB0095 prepare_input: Unexpected code path error"
      [rep_test] [Fri Aug 26 12:02:58 2011] "BDB3614 select loop failed: Invalid argument"
      [rep_test] [Fri Aug 26 12:02:58 2011] "BDB0061 PANIC: Invalid argument"
      [rep_test] [Fri Aug 26 12:02:58 2011] "event: DB_EVENT_PANIC, we got panic, recovery should be run."
      [rep_test] [Fri Aug 26 12:03:07 2011] "BDB0060 PANIC: fatal region error detected; run recovery"
      [rep_test] [Fri Aug 26 12:03:07 2011] "event: DB_EVENT_PANIC, we got panic, recovery should be run."
        • 1. Re: bdb replication is vulnerable
          524761
          The TCP/IP ports that repmgr uses can only be used to communicate with other instances of repmgr; repmgr has its own specific wire protocol.

          It doesn't work to try communicating with it via telnet, sending it some arbitrary command text.

          Please refer to the ex_rep_mgr sample application (and the discussion of it in the Reference Guide) for an example of how to configure repmgr.
          • 2. Re: bdb replication is vulnerable
            596578
            Repmgr works fine for us now.
            We just worry about it's robustness, maybe we should add some checksum mechanism in bdb replicate communication channel.