Expand my Community achievements bar.

SOLVED

ERROR: duplicate key value violates unique constraint "nmsbroadlogexec_id"

Avatar

Level 1

 

Hi there,

could you please advice about the error below (what is the cause and how to solve it)? We got it on delivery level after 2 month or recurring campaign running sucessfully.

PGS-220000 PostgreSQL error: ERROR: duplicate key value violates unique constraint "nmsbroadlogexec_id" DETAIL: Key (bibroadlogid)=(36993000) already exists.

1 Accepted Solution

Avatar

Correct answer by
Employee

Dear @lucierez,

Based on the error you've encountered, it seems to be related to an Adobe Campaign Classic (ACC) sequence issue.

It is recommended to verify if your BroadLogId sequence is nearing exhaustion. For a comprehensive understanding, you may refer to the link provided below.

However, please note that the information in this recording may be outdated as it was created some time ago and there have been changes since then. For instance, in recent builds, dedicated sequences are now being used for Out-Of-the-Box (OOB) tables.

[Adobe Campaign Classic Sequences Exhaustion]

 

(https://helpx.adobe.com/customer-care-office-hours/campaign/sequences-exhaustion-campaign-classic.ht...)

 

For a thorough analysis, you may consider raising a ticket with Adobe Support or engaging a consultant.

 

Here are some best practices to consider during development:

 

1. **Monitor ID Consumption:** Regularly track the consumption of IDs, particularly for sequences like nmsBroadlogId and xtkNewId. Calculate the rate of consumption to ensure it doesn't deplete rapidly.

2. **Use Negative ID Range Carefully:** Transitioning to a negative ID range should be done cautiously and only when required. Monitor the sequence and manually revert to the positive range when the sequence is approximately at the -5,000,000 value.

3. **Avoid Overconsumption:** Identify and avoid practices that result in excessive consumption of IDs. For instance, refrain from verbose logging in workflow activities or enabling SQL logs for prolonged periods.

4. **Use Recurring Deliveries Wisely:** Utilize recurring deliveries only if the recurrence period exceeds 24 hours. For shorter intervals, opt for continuous deliveries.

5. **Custom Schema/Table:** Refrain from using the xtkNewId sequence in the custom schema/table. For all custom schemas with autoPk enabled, do not specify sequence and generate with an ACC release prior to version 18.4.

6. **Detect and Localize Gaps:** Employ scripts to detect and localize gaps in sequence usage. This can assist in identifying complete or partial voids where IDs are not utilized.

7. **Sequence Configuration:** Regularly review the configuration of your sequences to ensure they are correctly set up.

8. **Workflow SQL Logs:** Activation of SQL workflow logs should be restricted to occasional debugging and should not be enabled for more than an hour.

9. **List Existing Sequences:** Regularly enumerate and review the existing sequences to ensure they are operating as expected.

10. **Check Deployment Wizard Retention Settings:** Regularly review and adjust these settings as necessary.

 

 

Best Regards.

Zubair

View solution in original post

3 Replies

Avatar

Level 6

Hi @lucierez ,

This error clearly indicates that (bibroadlogid)=(36993000) already exist in broadlog table and you are duplicating the same again through the workflow.

In delivery template, some data which is being passed either do not exist or campaign is not able to access the same data.

Kindly check your data which is being passed as personalization in template

 

Avatar

Correct answer by
Employee

Dear @lucierez,

Based on the error you've encountered, it seems to be related to an Adobe Campaign Classic (ACC) sequence issue.

It is recommended to verify if your BroadLogId sequence is nearing exhaustion. For a comprehensive understanding, you may refer to the link provided below.

However, please note that the information in this recording may be outdated as it was created some time ago and there have been changes since then. For instance, in recent builds, dedicated sequences are now being used for Out-Of-the-Box (OOB) tables.

[Adobe Campaign Classic Sequences Exhaustion]

 

(https://helpx.adobe.com/customer-care-office-hours/campaign/sequences-exhaustion-campaign-classic.ht...)

 

For a thorough analysis, you may consider raising a ticket with Adobe Support or engaging a consultant.

 

Here are some best practices to consider during development:

 

1. **Monitor ID Consumption:** Regularly track the consumption of IDs, particularly for sequences like nmsBroadlogId and xtkNewId. Calculate the rate of consumption to ensure it doesn't deplete rapidly.

2. **Use Negative ID Range Carefully:** Transitioning to a negative ID range should be done cautiously and only when required. Monitor the sequence and manually revert to the positive range when the sequence is approximately at the -5,000,000 value.

3. **Avoid Overconsumption:** Identify and avoid practices that result in excessive consumption of IDs. For instance, refrain from verbose logging in workflow activities or enabling SQL logs for prolonged periods.

4. **Use Recurring Deliveries Wisely:** Utilize recurring deliveries only if the recurrence period exceeds 24 hours. For shorter intervals, opt for continuous deliveries.

5. **Custom Schema/Table:** Refrain from using the xtkNewId sequence in the custom schema/table. For all custom schemas with autoPk enabled, do not specify sequence and generate with an ACC release prior to version 18.4.

6. **Detect and Localize Gaps:** Employ scripts to detect and localize gaps in sequence usage. This can assist in identifying complete or partial voids where IDs are not utilized.

7. **Sequence Configuration:** Regularly review the configuration of your sequences to ensure they are correctly set up.

8. **Workflow SQL Logs:** Activation of SQL workflow logs should be restricted to occasional debugging and should not be enabled for more than an hour.

9. **List Existing Sequences:** Regularly enumerate and review the existing sequences to ensure they are operating as expected.

10. **Check Deployment Wizard Retention Settings:** Regularly review and adjust these settings as necessary.

 

 

Best Regards.

Zubair

Avatar

Level 4

Hi

 

please help how can we do this

 

. **Use Negative ID Range Carefully:** Transitioning to a negative ID range should be done cautiously and only when required. Monitor the sequence and manually revert to the positive range when the sequence is approximately at the -5,000,000 value.