cancel
Showing results for 
Search instead for 
Did you mean: 

Master-Slave Problem: Please Help

Former Member
0 Kudos

I am having a problem getting master/slave repositories set up for synchronization.

My MDM server environment is Solaris with Oracle 10.2 database.

MDM version is 5.5.41.58 (5.5 SP05).

I create a repository. I unarchive my data into it. I create a slave repository from it. I go into Data Manager and change the description of one product in the master repository. In the Console, the server log has the following message:

Master Server failed to log change because of error: The new transaction id is less than the last transaction id. (code 4289454080).

Has anybody had the same issue? Any clues as to what the problem and/or fix is?

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Bruce,

That error implies a specific and unusual problem with the master change log. Did you get any errors in either Server or Assertion logs when creating the slave?

Secondly, you mentioned that you created a repository and unarchived data into it. Can you elaborate on that process?

Finally, would it be possible for you to run the CLIX command repGetChangeCounter for the master and slave repositories?

Regards,

Simon

Former Member
0 Kudos

Hello Simon,

Thank you for taking the time to respond.

The unarchive process involved the following: we have a production catalog running MDM 4.0.58. We had an SAP consultant assist in migrating our catalog to MDM 5.5 SP05. This was done using a local server running Windows and SQL Server. From the Windows MDM 5.5, I made an archive. I transferred it to the Solaris/Oracle environment. Using the Console I did the unarchive.

One interesting thing to note: when MDM 5.5 SP05 was installed on Solaris, the "Modifications" directory was not created. Initial attempts to synchronize gave a different error. I determined that the directory was missing and had our data center admin create it. He then stopped the MDM server and restarted it. Then I deleted my master and slave repositories and started over. And then got the error referenced above.

Running the CLIX command gives the following:

52 for the master and 50 for the slave.

In the server log, the only errors I see (other than the one about the transaction id's) are when starting the master and slave repositories I see:

SERVICE 'xxx', SCHEMA 'yyy', ERROR CODE=1002 ||| ORA-01002: fetch out of sequence Last CMD: SELECT PermanentId, Id, F153, F154, F163, F164, F353, F387, F414 FROM A2i_40

In the assertion log, there is nothing at the time of creating the slave. When starting the slave, there are many messages relating to accelerators. At the time when I was changing the data in the master, there are messages from A2iIndexedTransactions.cpp (lines 647, 119, 96, and 231).

If you need any more info, let me know.

Thanks again for your help.

Former Member
0 Kudos

Hello Bruce,

Starting in SP5, the Modification directory does not get created until necessary, so it was normal for it to be absent right after installation.

What is not normal is that neither itself nor change log files got created when you created the slave.

The assertions you saw are consistent with a missing change log file.

It seems there is a bug with turning repositories from normal to masters, where the log creation step is missed for some reason.

At this time, I can't really advise anything except for a clean retry: delete the slave(s), normalize the master, clean the Modifications directory if necessary and create a new slave. A master change log (.xct) and a master change log index (.xci) files should be created at that time.

If that does not work, another trick you may try is to create another slave without making any changes to the master. The MDM Server has logic for creating missing master log files on creating a slave for a repository that is already a master.

I will be leaving town for a week and a half and will be unable to respond quickly.

Regards,

Simon

Former Member
0 Kudos

Hello Simon,

I had deleted the master and slave and started over. After creating new master and slave repositories, repGetChangeCounter returned 51 for both. So I thought everything would be okay. I changed a text field on a product in the master. The repChangeCounter for the master returned 52. But the server log shows the error: Master Server failed to log change because of error: The new transaction id is less than the last transaction id. (code 4289454080).

Any ideas why this would happen?

If we cannot get synchronization to work flawlessly, then we will have to find another solution for our Global Product Repository.

Former Member
0 Kudos

All,

With Simon's help, I am now able to synchronize on the Solaris environment. I had been

mounting my server in the Console by specifying its IP address. Simon advised that there was an issue with this and I should mount using the hostname.

Once I did that and recreated my Master and Slave it started working.

Thanks go to Simon.

Former Member
0 Kudos

There is a bug in MDM releases 3.0 through 5.5 SP5 patch 2 where changes to master repositories are not logged properly for further synchronization if the MDS server server mounting them is mounted by a Console using either an IP address, "localhost" or a fully qualified hostname. When operating on master repositories with affected MDM releases, only the hostname should be used for mounting MDS servers in the Console.

More detail is available in SAP note 1098610.

Answers (0)