Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1950

configBackwardCompatibilityMode breaks compatibility

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 3.5.0
    • Fix Version/s: 3.5.0
    • Component/s: None
    • Labels:
      None

      Description

      The current implementation divide information of servers of legacy config into two separate dynamic config files. There is a problem.

      When we set "clientPort" variable in config file, it gets automatically erased and later on there is no information about "clientPort" in either the old or new (.dynamic) config file.

      It becomes a serious problem when users of 3.4 jump to 3.5 directly without changing their config: when a server crashes and restarts, there is no client port serving.

      For example,
      a legacy config might look like:

      ```zoo.cfg
      dataDir=/root/zookeeper/groupconfig/conf1/data
      syncLimit=5
      initLimit=10
      tickTime=2000
      clientPort=2181
      server.1=127.0.0.1:2222:2223
      server.2=127.0.0.1:3333:3334
      server.3=127.0.0.1:4444:4445
      ```

      After dynamic reconfig, it might look like

      ```zoo.cfg
      dataDir=/root/zookeeper/groupconfig/conf1/data
      syncLimit=5
      tickTime=2000
      initLimit=10
      dynamicConfigFile=./zoo.cfg.dynamic
      ```

      and
      ```zoo.cfg.dynamic
      server.1=127.0.0.1:2222:2223:participant
      server.2=127.0.0.1:3333:3334:participant
      server.3=127.0.0.1:4444:4445:participant
      version=e00000000
      ```

      This could be successfully started at first time. But when server restarts from crash, it never serve client port again.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                hdeng Hongchao Deng
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: