pyCommitError Unable to create dataset for pyFTSIncrementalIndex
pyCommitError occurs when saving a rule.
pyCommitError: Unable to create dataset for PYFTSINCREMENTALINDEXER [-Internal-]
Steps to Reproduce
Create a rule and save it.
Stream services were not enabled correctly.
Perform the following local-change:
- Set the below JVM argument on all the nodes:
- Confirm if all the nodes are running on the same physical server or a different server.
- Perform the below steps after the JVM settings are set:
3.1 Stop the Pega nodes.
3.2 Delete the Kafka_data directory from any node which should not execute the Stream services.
3.3. Back-up the below tables and truncate them.
DELETE FROM pr_data_stream_node_updates;
DELETE FROM pr_data_stream_nodes;
DELETE FROM pr_data_stream_sessions;
DELETE FROM pr_sys_statusnodes;
3.4. Start the nodes.
- If a single physical server is present on which the user executes multiple Pega JVMs that contain a 'Stream' as one of the -DNodeType parameters, set the prconfig.xml entries on all such nodes where the Kafka process is expected to run. These entries must point to a unique port number to avoid port conflicts.
For example, if nodes A and B both run on the same physical server and have the -DNodeType set to 'Stream' as one of the parameters, then the prconfig.xml on node A must be set as below:
dsm/services/stream/pyBrokerPort (default 9092)
dsm/services/stream/pyKeeperPort (default 2181)
dsm/services/stream/pyJmxPort ( default 9999)
dsm/services/stream/pyPort (default 7003)
And, the prconfig.xml entry on node B must be set as below:
- If any other JVM is running on the same physical server where the -DNodeType is set to any other parameter except 'Stream', set the below on all such nodes to avoid port conflict:
For example: Consider three nodes (A, B, and C) running on the same physical server. Nodes A and B use the DNodeType as the Stream, but node C is of -DNodeType webuser. Nodes A and B must have the configuration mentioned and node C must only have the prconfig.xml entry set to a non-conflicting port value (any open port other than set for A and B)
dsm/services/ stream/pyPort (7002)
This prconfig entry is required to avoid conflicts for a REST Service port that is used by the Stream datasets on each of the nodes. Since it is an out-of-the-box REST Service, the Service cannot be stopped. Instead, the user must utilize the non-conflicting pyPort as mentioned above.
- Restart one of the background processing nodes. When this node starts, restart the remaining background processing nodes, followed by the Stream nodes (Search nodes and Webuser nodes).