34 Troubleshooting PDC Cloud Native
Learn how to troubleshoot issues in Oracle Communications Pricing Design Center (PDC) cloud native.
Topics in this document:
Troubleshooting ImportExportPricing Errors
When running the ImportExportPricing utility in a BRM cloud native environment, it may generate the following error:
oracle.communications.brm.pdc.server.transformation.Transformer commitChanges
SEVERE: Error while committing transaction
oracle.communications.brm.pdc.server.transformation.TransformationException: Error in database operation for [committing connection]To resolve the issue:
- Verify the connectivity to the database for both the Cross Reference (XREF) schema and the BRM schema.
- Redeploy PDC.
Note:
For an XREF schema error, redeploy PDC. For a BRM schema error, redeploy BRM and PDC both.Unable to Import a Large Number of XML Files
You may encounter issues when importing a large number of XML files into your PDC cloud native environment using the ImportExportPricing utility. This occurs due to insufficient memory allocation for the WebLogic Server. To resolve the issue:
- In your override-values.yaml file for oc-cn-op-job-helm-chart, update
the ocpdc.configEnv.USER_MEM_ARGS key to a higher value. For
example:
USER_MEM_ARGS: "-Xms10g -Xmx12g -XX:CompileThreshold=8000” - Apply the changes by running the helm upgrade command for
oc-cn-op-job-helm-chart:
helm upgrade OpJobReleaseName oc-cn-op-job-helm-chart --values OverrideValuesFile --namespace BrmNameSpace - In your override-values.yaml file for oc-cn-helm-chart, update the
ocpdc.configEnv.transformation.MEM_ARGS key to a higher value. For
example:
MEM_ARGS: "-Xms10g -Xmx12g -XX:CompileThreshold=8000" - Run the helm upgrade command for oc-cn-helm-chart:
helm upgrade BrmReleaseName oc-cn-helm-chart --values OverrideValuesFile --namespace BrmNameSpace - Verify if the import issues have been resolved by rerunning the ImportExportPricing utility in your cloud native environment. See “Importing and Exporting Pricing and Setup Components” in PDC Creating Product Offerings.
If the issue persists, you can further increase the Xmx value based on your system's capacity.
SyncPDC Fails After Cloning BRM and PDC Databases
Note:
This applies to:- PDC systems with real-time rating engine (RRE) and batch rating engine (BRE) only.
- PDC systems upgrading from version 12.0 patch set 5 or earlier to later versions (12.0 patch set 6 and after).
SEVERE: Error while running SyncPDC!
oracle.communications.brm.pdc.migration.MigrationException: Unexpected error occurred in migration operation
at oracle.communications.brm.pdc.syncpdc.SyncPDCJob.execute(SyncPDCJob.java:234)
at oracle.communications.brm.pdc.syncpdc.SyncPDC.run(SyncPDC.java:143)
at oracle.communications.brm.pdc.syncpdc.SyncPDC.main(SyncPDC.java:299)
Caused by: oracle.communications.brm.pdc.migration.MigrationException: Error in migration operation
...
Caused by: java.lang.Throwable: There are errors when parsing bcc EventAttributeSpecs. Please fix the issues, then restart syncPDC.
The event, "/event/delayed/session/telco/gprs", was configured as a rating event in BRM and used for creating a PDC EventAttributeSpec "EventDelayedSessionTelcoGprs", is not configured as a rating event in BRM currently. It is not allowed to delete a rating event from PDC. Please restore "/event/delayed/session/telco/gprs" as a rating event in BRM.
This error occurs because the data in the pin_event_map file and IFW_REF_MAP database table are corrupted.
- In the BRM database, ensure that
/event/delayed/session/telco/gprs is set with the Event_Type set
to USAGE_POSTPAID in the DD_Objects_T table. To do so, use SQL*Plus
to run the following command on the BRM
database:
select obj_id0, name, event_type from dd_objects_t where name = '/event/delayed/session/telco/gprs;'
- In the PDC database, ensure that
/event/delayed/session/telco/gprs is set with the Event_Type
set to USAGE_POSTPAID in the ABCATTRIBUTESPEC and
BCEVENTATTRIBUTESPEC tables. To do so, use SQL*Plus to run the following command
on the PDC
database:
SELECT name, eventtype, version FROM abcattributespec aas, bceventattributespec eas WHERE classname = '/event/delayed/session/telco/gprs' and aas.entityid = eas.entityid ORDER BY version DESC;
- In BRM_Integration_Pack_home/apps/syncpdc/xml/extract/Event.xml file, ensure /event/delayed/session/telco/gprs is set with EVENT_TYPE is equal to USAGE_POSTPAID.
- In the
BRM_Integration_Pack_home/apps/syncpdc/SyncPDCConfiguration.xml
file, ensure skipBREMigration is set to
false:
<skipBREMigration>false</skipBREMigration>
- Ensure /event/delayed/session/telco/gprs is listed in
BRM_home/sys/data/config/pin_event_map_telco_gprs
file.
If not, do the following:
- Edit the pin_event_map_telco_gprs file and add the
following:
/service/telco/gprs : /event/session/telco/gprs : Real Time Telco GPRS Session : /event/delayed/session/telco/gprs : Delayed Telco GPRS Session
- Load the updated pin_event_map_telco_gprs file into the database using the load_event_map utility. See “load_event_map” in BRM Setting Up Pipeline Pricing.
- Verify that /event/delayed/session/telco/gprs appears in the CONFIG_PERMITTED_EVENTS_T table in the database.
- Restart SyncPDC.
- Edit the pin_event_map_telco_gprs file and add the
following:
- Ensure that /event/delayed/session/telco/gprs exists in the
IFW_REF_MAP table. SyncPDC validates all events, including derived events,
against the IFW_REF_MAP table. So, you must manually ensure that each derived
event also has a valid mapping in IFW_REF_MAP.
If not, add it by editing the pin_event_map_telco_gprs file and running the following SQL command:
INSERT INTO "pre"."ifw_ref_map" (id, ref_obj, ref_param, entryby, entrydate, modified, modifdate, recver) VALUES ('CustomerData', '/service/telco', '/event/delayed/session/telco/gprs', '0', to_date('2023-11-02 05:48:38', 'YYYY-MM-DD HH24:MI:SS'), '1', to_date('2023-11-02 05:48:38', 'YYYY-MM-DD HH24:MI:SS'), '0');Note:
In BRM, each service in the IFW_REF_MAP table can only be mapped to one event. - Restart SyncPDC.
Publishing Pricing Components to ECE Fails
After you upgrade BRM from version 12.0 to 15.1 or later and set up ECE and BRM in separate cloud instances, PricingUpdater may not connect to the PDC WebLogic server. As a result, publishing pricing components from PDC to ECE can fail with the following error in the pricingupdater_log file:
Unable to connect to Provider : null . . . Caused by: java.net.ConnectException: t3://IPaddress:8001: Bootstrap to IPaddress/IPaddress:8001 failed. It is likely that the remote side declared peer gone on this JVM . . . Caused by: java.net.ConnectException: t3://IPaddress:8001 Bootstrap to IPaddress/IPaddress:8001 failed. It is likely that the remote side declared peer gone on this JVM
To fix this, do the following:
- Connect PDC to the WebLogic Server by making one of the following changes for PDC in the override-values.yaml file for the oc-cn-op-job-helm-chart:
- Use a NodePort (t3 or t3s) that is configured in Kubernetes to allow PricingUpdater to connect to the PDC WebLogic server.
- If the PricingUpdater is running in a different Kubernetes namespace, use the ClusterIP port to connect to the PDC WebLogic server.
- Run the helm upgrade command to apply your changes for PDC:
helm upgrade OpJobReleaseName oc-cn-op-job-helm-chart --namespace BrmNameSpace -- values OverrideValuesFile - After updating the connection method, access PDC in your browser using one of the following URLs to verify that you can reach it.
- If you are not using a load balancer:
http://kubernetesHost:pdcPort/pdcwhere kubernetesHost is the host name of the machine on which Kubernetes is deployed and pdcPort is the PDC service node port
-
If you are using a load balancer:
http://LoadBalancerHost:pdcNodePort/pdcwhere LoadBalancerHost is the host name of the machine on which the load balancer is deployed and pdcNodePort is the number assigned to the PDC node port.
- If you are not using a load balancer:
- Enter the PDC connection URL in the ECE PricingUpdater configuration. To do this, update the override-values.yaml file for oc-cn-ecehelm-chart to set the migration.pricingUpdater.connection URL key.
- Run the helm upgrade command to apply your changes for ECE:
helm upgrade EceReleaseName oc-cn-ece-helm-chart --namespace EceNameSpace --values OverrideValuesFile