4 Replies Latest reply: Sep 27, 2012 5:23 AM by 962821 RSS

    C# Error - 3667 A (different) local site has already been set

    962821
      Using 2.5.3.21 with .net (c#)

      I am attempting to create a Replication Manager with 3 sites.

      If I add the three DBSiteConfig to RepSystemCfg.RepmgrSitesConfig with one set to local =true) the others to local = false , then as soon as I open the environment I get

      Error - 3667 A (different) local site has already been set

      I am certain that only one is set to local = true.
      The Hosts are

      localhost:50001 (local = true)
      localhost:50002 (local = false)
      localhost:50003 (local = false)

      each with a unique environment.

      Is this a possible bug or am I missing something?

      Edited by: 959818 on Sep 18, 2012 7:15 AM
        • 1. Re: C# Error - 3667 A (different) local site has already been set
          656853
          Hi,

          Thanks for using C# API for BDB HA.

          In the version you are using, the local site could be set once only and remote site should not be specified any value for local. So, please update the code to:

          localhost:50001 (local = true)
          localhost:50002
          localhost:50003

          Hope it helps.

          Regards,
          Emily Fu, Berkeley DB
          • 2. Re: C# Error - 3667 A (different) local site has already been set
            962821
            Thanks, that was indeed the problem.

            I now have another problem. The three replication sites are running. They successfully elect a master with two remote sites but NO replication occurrs.
            When i create a new database, the database files appear only at the master and nothing appears at the two remote sites. This should be impossible as it is set to use a QUORUM ackowlegement.

            The application creates the database using relative path.

            What could be causing this error?
            • 3. Re: C# Error - 3667 A (different) local site has already been set
              656853
              Hi,

              Please provide more context so that we could understand the scenario, for example configurations, replication verbose output, etc. You could turn on the verbose by DatabaseEnvironment.Verbosity.Replication* at http://docs.oracle.com/cd/E17076_02/html/csharp/html/T_BerkeleyDB_VerboseMessages.htm. It is very helpful to understand the status of each replication site, e.g, being synced, sending logs, election, etc. If you could provide us this information, it would be easier to diagnose.

              Also, you could refer to the C# replication manager example excs_repquote in the BDB_dotNet.sln under build_windows in the source code download package.

              Regards,
              Emily Fu, Oracle Berkeley DB
              • 4. Re: C# Error - 3667 A (different) local site has already been set
                962821
                Thanks, but I fixed the problem. It seems that setting

                _envConfig.CreationDir = CreationDirectory
                and
                _envConfig.DataDirs

                to a value was the problem. This value should not be set.

                I removed this setting and just passed the Directory to the env.Open(CreationDirectory, envConfig).

                Strange, but its all working well now.

                Incidentally, I had all the verbosity settings to true, but no error messages were displayed in the _env.ErrorFeedback delegate. This delegate has a byte[] parameter which I'm not quite sure what to do with.