Showing posts with label WCS & Solr. Show all posts
Showing posts with label WCS & Solr. Show all posts

WebSphere Commerce 7 | Solr | Preprocess failed to complete| ERRORCODE=-4229

While running the Solr Preprocess, it might fail to complete with the following error,

=====================================================================
Catalog information determined (12551)
=====================================================================
Categories in system: 6193
Catalog entries in system: 873065
Catalog group relationships in catalog: 5153
Catalog entry relationships in catalog: 1162465
Index full navigation path: true
Index products under published categories only: false
Enable deep un-publish: false
=====================================================================

Sep 7, 2018 11:36:14 PM com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcessor determineCatalogEntriesForCatalog(Connection connection, String catalogID)
INFO: The catalog with ID: 12551 contains 1162465 catalog entries.
com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][4.19.49] Batch failure.  The batch was submitted, but at least one exception occurred on an individual member of the batch.
Use getNextException() to retrieve the exceptions for specific batched elements. ERRORCODE=-4229, SQLSTATE=null
        at com.ibm.db2.jcc.am.kd.a(Unknown Source)
        at com.ibm.db2.jcc.am.Agent.endBatchedReadChain(Unknown Source)
        at com.ibm.db2.jcc.am.gp.a(Unknown Source)
        at com.ibm.db2.jcc.am.gp.c(Unknown Source)
        at com.ibm.db2.jcc.am.gp.executeBatch(Unknown Source)
        at com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcessor.populateTable(CatalogHierarchyDataPreProcessor.java:1238)
        at com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcessor.process(CatalogHierarchyDataPreProcessor.java:670)
        at com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcessor.process(CatalogHierarchyDataPreProcessor.java:414)
        at com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain.processDataConfig(DataImportPreProcessorMain.java:1278)
        at com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain.execute(DataImportPreProcessorMain.java:1137)
        at com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain.main(DataImportPreProcessorMain.java:449)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:267)
Sep 7, 2018 11:45:30 PM com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain processDataConfig(DataProcessingConfig, String)
INFO: Error for batch element #287: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.19.49
Sep 7, 2018 11:45:30 PM com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain processDataConfig(DataProcessingConfig, String)
INFO: SQL:
Sep 7, 2018 11:45:30 PM com.ibm.commerce.foundation.dataimport.preprocess.DataImportPreProcessorMain logExitCode
INFO:
The program exiting with exit code: 1.
Data import pre-processing was unsuccessful. An unrecoverable error has occurred.


Issue:
Data being inserted into the database table column is larger than the assigned column length.
 
Solution:
Update the following file,
/opt/IBM/WebSphere/CommerceServer70/instances/auth/search/pre-processConfig/MC_10001/DB2/wc-dataimport-preprocess-parent-catgroup.xml

Existing Configuration:
 <_config:table definition="CREATE TABLE TI_APGROUP_0 (CATENTRY_ID BIGINT NOT NULL, CATGROUPS VARCHAR(4000), CATPATHS VARCHAR(5000), PRIMARY KEY (CATENTRY_ID))" name="TI_APGROUP_0"/>

Updated Configuration:
 <_config:table definition="CREATE TABLE TI_APGROUP_0 (CATENTRY_ID BIGINT NOT NULL, CATGROUPS CLOB, CATPATHS CLOB, PRIMARY KEY (CATENTRY_ID))" name="TI_APGROUP_0"/>

WCS | WebSphere Commerce Search and Apache Solr - Setup

1. Make sure you have enabled the Feature pack 2 features
2. Through Management Center, enable the search-based navigation store function
3. Get the Master Catalog Id for your store,
        select * from catalog where IDENTIFIER='YOUR_STORE_IDENTIFIER'; --10001
4. Setup the Search Index (Preparing the WebSphere Commerce machine)
    This utility ensures that your index is built successfully using your WebSphere Commerce master catalog data.
    a.    First stop the server and as non-root user go to
        Server: WC_installdir\components\foundation\subcomponents\search\bin
        Developer: WCDE_installdir\components\foundation\subcomponents\search\bin
    b.    Run the search index setup utility,
        Server: ./setupSearchIndex.sh -instance demo -action configWCforSolr -masterCatalogId 10001 -dbuser db2inst1 -dbuserpwd inst1pas -searchServerName linux-530s -searchServerPort 3737 -searchServiceContextRoot /solr
        Developer:    
        setupSearchIndex.bat -masterCatalogId 10001 -instance WCDE_ENT70 -dbuser db2admin -dbuserpwd db2admin [-solrhome C:\IBM\WCDE_ENT70\search\solr\home]
    c.    Check the logs,
        WCDE_ENT70\components\foundation\subcomponents\search\log\wc-search-index-setup.log
    d.    This utility update the following information,
        i.    wc-search.xml is updated with appropriate Solr configuration information.
        ii.    One record was inserted into the database table SRCHCONF

    e.    Verify the following assets are created,
        Server: cd /opt/IBM/WebSphere/CommerceServer70/instances/demo/search/solr/home
        Developer: IBM\Toolkit\search\solr\home

5. Preprocessing the WebSphere Commerce search index data
    The preprocess utility extracted WebSphere Commerce data and put the data into a set of temporary tables inside the WebSphere Commerce database.
    a.    Server should be stopped
    b.    As non-root user, go to
        WCDE_installdir\bin
    c.    Run the preprocessing utility,
        Server: ./di-preprocess.sh /opt/IBM/WebSphere/CommerceServer70/instances/demo/search/pre-processConfig/MC_10001/DB2 -instance demo -dbuser db2inst1 -dbuserpwd inst1pas -fullbuild true
        Developer: di-preprocess.bat C:\IBM\WCDE_ENT70\search\pre-processConfig\MC_10001\DB2\ [-fullbuild true] [-localenameen_US]
    d.    Check the logs,
        Server: WC_installdir\logs\wc-dataimport-preprocess.log
        Developer: WCDE_installdir\logs\wc-dataimport-preprocess.log
    e.    Verify that the TI_<NAME>_0 tables were created and populated

6. Building the WebSphere Commerce search index   
    The index building utility is a wrapping utility that updates the information in the master index using the Data Import Handler (DIH) service to build the index, either partially through delta index updates or completely through full-index builds. When there are multiple indexes, for example, each language using its own separate index, the index is built multiple times.
    a.    Start the server
    b.    Check whether Solr server is working or not,
        http://localhost/solr/Default/select?q=*%3A*
    c.    Run search index building utility,
        Server: ./di-buildindex.sh -instance demo -masterCatalogId 10001 -dbuser db2inst1 -dbuserpwd inst1pas
        Developer: di-buildindex.bat -masterCatalogId 10001
    d.    Check the logs,
        Note: The di-buildindex.bat utility overwrites the preprocess log file. Before running di-buildindex.bat, back up wc-dataimport-preprocess.log.
        Server: WC_installdir\logs\wc-dataimport-preprocess.log
        Developer: WCDE_installdir\logs\wc-dataimport-preprocess.log
    e.    Check the Solr search after building indexes,
        http://localhost/solr/MC_10001_CatalogEntry_en_US/select?q=catentry_id:10251

My Writings........

Salesforce | Administration | Email-to-Case | Create Cases using Email-to-Case

Email to Case Setup ·        Click on Email-to-Case ·         Enable the following flags, ·        Provide the Routing Addres...