This discussion is archived
6 Replies Latest reply: Apr 10, 2013 12:00 PM by Jon Schneider RSS

Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)

979230 Newbie
Currently Being Moderated
When i'm trying to index through component ProductCatalogSimpleIndexingAdmin, its throwing me an error,

Server Log:

12:06:32,412 INFO [CategoryToDimensionOutputConfig] Starting bulk load
12:06:32,474 INFO [ReflectionServiceFactoryBean] Creating Service {http://recordstore.itl.endeca.com/}RecordStoreService from class com.endeca.itl.re
cordstore.RecordStore
12:06:32,492 INFO [ReflectionServiceFactoryBean] Creating Service {http://recordstore.itl.endeca.com/}RecordStoreService from class com.endeca.itl.re
cordstore.RecordStore
12:06:33,248 INFO [SchemaDocumentSubmitter] Will atempt to contact record store "EndecaDemoen_en_schema" on host "localhost" on port 8,500
12:06:33,264 INFO [DimensionDocumentSubmitter] Will atempt to contact record store "EndecaDemoen_en_dimvals" on host "localhost" on port 8,500
12:06:33,276 INFO [ProductCatalogOutputConfig] Starting bulk load
12:06:43,130 ERROR [BulkLoader]
atg.repository.search.indexing.IndexingException: Error sending record atg.endeca.index.record.Record@18fbb4a9{dimval.spec=[homeStoreRootCategory.cat1
0016], dimval.qualified_spec=[product.category:homeStoreRootCategory.cat10016], dimval.prop.category.siteId=[mobileHomeSite, mobileStoreSiteUS, storeS
iteUS, homeSite], dimval.prop.category.rootCatalogId=[homeStoreCatalog], dimval.prop.category.ancestorCatalogIds=[homeStoreCatalog], dimval.dimension_
spec=[product.category], dimval.parent_spec=[homeStoreRootCategory], dimval.display_order=[4], dimval.prop.category.repositoryId=[cat10016], dimval.pr
op.category.catalogs.repositoryId=[masterCatalog, homeStoreCatalog], dimval.display_name=[Home Accents]} to record store "EndecaDemoen_en_dimvals", Ro
ot cause: Input record does not have a valid Id.
at atg.endeca.index.RecordStoreDocumentSubmitterSessionImpl.submitRecord(RecordStoreDocumentSubmitterSessionImpl.java:313)
at atg.endeca.index.RecordSubmitterSessionImpl.submitDocument(RecordSubmitterSessionImpl.java:187)
at atg.endeca.index.AbstractRecordStoreAggregateSession.submitDocument(AbstractRecordStoreAggregateSession.java:329)
at atg.repository.search.indexing.LoaderImpl.outputAndSubmitDocument(LoaderImpl.java:1132)
at atg.endeca.index.RecordStoreBulkLoaderImpl.outputAndSubmitDocument(RecordStoreBulkLoaderImpl.java:142)
at atg.repository.search.indexing.LoaderImpl.processItem(LoaderImpl.java:799)
at atg.repository.search.indexing.threading.ProcessItemJob.invoke(ProcessItemJob.java:145)
at atg.common.util.ThreadDispatcherThread.run(ThreadDispatcherThread.java:178)
Caused by: com.endeca.itl.recordstore.InvalidRecordException: Input record does not have a valid Id.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:141)
at $Proxy162.writeRecords(Unknown Source)
at com.endeca.itl.recordstore.RecordStoreWriter.doFlush(RecordStoreWriter.java:170)
at com.endeca.itl.recordstore.RecordStoreWriter.write(RecordStoreWriter.java:108)
at atg.endeca.index.RecordStoreDocumentSubmitterSessionImpl.submitRecord(RecordStoreDocumentSubmitterSessionImpl.java:308)
... 7 more
12:06:43,135 INFO [BulkLoader] Processed 55 items for /atg/endeca/index/commerce/CategoryToDimensionOutputConfig in 0.709 seconds. Averaged 77.57404
795486602 items including sub-items per second
12:06:43,147 INFO [CategoryToDimensionOutputConfig] Bulk load completed with "true" result in 10,735 milliseconds.
12:06:43,784 INFO [ReflectionServiceFactoryBean] Creating Service {http://recordstore.itl.endeca.com/}RecordStoreService from class com.endeca.itl.re
cordstore.RecordStore
12:06:44,627 INFO [DataDocumentSubmitter] Will atempt to contact record store "EndecaDemoen_en_data" on host "localhost" on port 8,500
12:06:49,825 ERROR [BulkLoader]
atg.repository.search.indexing.IndexingException: Error sending record atg.endeca.index.record.Record@7265f9e2{product.startDate=[0], product.creation
Date=[1196754592], product.repositoryId=[xprod2127], product.endDate=[0], product.keywords=[wood rich mahogany fits surroundings chair frame seat dark
-stained contemporary casual upholstered features dining leather], product.description=[Mahogany wood dining chair with leather seat], product.longDes
cription=[This contemporary dining chair features a rich, dark-stained mahogany wood frame and upholstered leather seat.   Easily fits into casual and
high-end surroundings.], product.displayName=[Contemporary Wood Dining Chair], record.spec=[product-xprod2127..homeStoreCatalog.en__US], product.url=
[atgrep:/ProductCatalog/product/xprod2127?catalog=homeStoreCatalog&locale=en_US], product.type=[product], product.baseUrl=[atgrep:/ProductCatalog/prod
uct/xprod2127], product.siteId=[mobileHomeSite, homeSite], product.disallowAsRecommendation=[0], product.nonreturnable=[0], product.dateAvailable=[119
6754592], product.daysAvailable=[1842], product.briefDescription=[Mahogany wood dining chair with leather seat], product.repositoryName=[ProductCatalo
g], sku.type=[sku, sku], sku.onSaleText=[0], sku.repositoryId=[xsku2127], sku.creationDate=[1196754236], sku.displayName=[Contemporary Wood Dining Cha
ir], sku.price_plist3080002=[107.99], sku.price_listPrices=[159.0], product.parentCategory.id=[homeStoreRootCategory.homeStoreSeating.homeStoreSeating
Dining], product.catalogs.repositoryId=[homeStoreCatalog], product.features.repositoryId=[leather, solid_wood], product.features.displayName=[Leather,
Solid Wood], allAncestors.displayName=[Home Store Root, Seating, Dining Chairs], allAncestors.repositoryName=[ProductCatalog, ProductCatalog, Product
Catalog], allAncestors.repositoryId=[homeStoreRootCategory, homeStoreSeating, homeStoreSeatingDining], allAncestors.type=[category, category, category
]} to record store "EndecaDemoen_en_data", Root cause: Input record does not have a valid Id.
at atg.endeca.index.RecordStoreDocumentSubmitterSessionImpl.submitRecord(RecordStoreDocumentSubmitterSessionImpl.java:313)
at atg.endeca.index.RecordSubmitterSessionImpl.submitDocument(RecordSubmitterSessionImpl.java:187)
at atg.endeca.index.AbstractRecordStoreAggregateSession.submitDocument(AbstractRecordStoreAggregateSession.java:329)
at atg.repository.search.indexing.LoaderImpl.outputAndSubmitDocument(LoaderImpl.java:1132)
at atg.endeca.index.RecordStoreBulkLoaderImpl.outputAndSubmitDocument(RecordStoreBulkLoaderImpl.java:142)
at atg.repository.search.indexing.LoaderImpl.processItem(LoaderImpl.java:799)
at atg.repository.search.indexing.threading.ProcessItemJob.invoke(ProcessItemJob.java:145)
at atg.common.util.ThreadDispatcherThread.run(ThreadDispatcherThread.java:178)
Caused by: com.endeca.itl.recordstore.InvalidRecordException: Input record does not have a valid Id.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:141)
at $Proxy162.writeRecords(Unknown Source)
at com.endeca.itl.recordstore.RecordStoreWriter.doFlush(RecordStoreWriter.java:170)
at com.endeca.itl.recordstore.RecordStoreWriter.write(RecordStoreWriter.java:108)
at atg.endeca.index.RecordStoreDocumentSubmitterSessionImpl.submitRecord(RecordStoreDocumentSubmitterSessionImpl.java:308)
... 7 more
12:06:49,836 ERROR [BulkLoader]
atg.repository.search.indexing.IndexingException: Session should not be committed, most likely because too many errors (1) occurred, canceling
at atg.repository.search.indexing.LoaderImpl.processItem(LoaderImpl.java:879)
at atg.repository.search.indexing.threading.ProcessItemJob.invoke(ProcessItemJob.java:145)
at atg.common.util.ThreadDispatcherThread.run(ThreadDispatcherThread.java:178)
12:06:49,892 ERROR [ProductCatalogOutputConfig]
atg.repository.search.indexing.IndexingException: atg.repository.search.indexing.IndexingException: Session should not be committed, most likely becau
se too many errors (1) occurred, canceling
at atg.repository.search.indexing.BulkLoaderImpl.bulkLoad(BulkLoaderImpl.java:1040)
at atg.repository.search.indexing.IndexingOutputConfig.bulkLoad(IndexingOutputConfig.java:1610)
at atg.repository.search.indexing.IndexingOutputConfig.bulkLoadForDiagnostics(IndexingOutputConfig.java:1554)
at atg.endeca.index.EndecaIndexingOutputConfig.performBaselineUpdate(EndecaIndexingOutputConfig.java:703)
at atg.endeca.index.admin.IndexingTask.doTask(IndexingTask.java:401)
at atg.endeca.index.admin.IndexingTask.performTask(IndexingTask.java:359)
at atg.endeca.index.admin.IndexingPhase$IndexingTaskJob.invoke(IndexingPhase.java:469)
at atg.common.util.ThreadDispatcherThread.run(ThreadDispatcherThread.java:178)
Caused by: atg.repository.search.indexing.IndexingException: Session should not be committed, most likely because too many errors (1) occurred, cancel
ing
at atg.repository.search.indexing.LoaderImpl.processItem(LoaderImpl.java:879)
at atg.repository.search.indexing.threading.ProcessItemJob.invoke(ProcessItemJob.java:145)
... 1 more
12:06:49,893 INFO [SchemaDocumentSubmitter] Rolling back session for record store EndecaDemoen_en_schema with transactionId 5
12:06:49,970 INFO [DimensionDocumentSubmitter] Rolling back session for record store EndecaDemoen_en_dimvals with transactionId 5
12:06:49,998 INFO [DataDocumentSubmitter] Rolling back session for record store EndecaDemoen_en_data with transactionId 4
12:06:50,126 ERROR [ProductCatalogSimpleIndexingAdmin]
atg.repository.search.indexing.IndexingException: atg.repository.search.indexing.IndexingException: Session should not be committed, most likely becau
se too many errors (1) occurred, canceling
at atg.repository.search.indexing.BulkLoaderImpl.bulkLoad(BulkLoaderImpl.java:1040)
at atg.repository.search.indexing.IndexingOutputConfig.bulkLoad(IndexingOutputConfig.java:1610)
at atg.repository.search.indexing.IndexingOutputConfig.bulkLoadForDiagnostics(IndexingOutputConfig.java:1554)
at atg.endeca.index.EndecaIndexingOutputConfig.performBaselineUpdate(EndecaIndexingOutputConfig.java:703)
at atg.endeca.index.admin.IndexingTask.doTask(IndexingTask.java:401)
at atg.endeca.index.admin.IndexingTask.performTask(IndexingTask.java:359)
at atg.endeca.index.admin.IndexingPhase$IndexingTaskJob.invoke(IndexingPhase.java:469)
at atg.common.util.ThreadDispatcherThread.run(ThreadDispatcherThread.java:178)
Caused by: atg.repository.search.indexing.IndexingException: Session should not be committed, most likely because too many errors (1) occurred, cancel
ing
at atg.repository.search.indexing.LoaderImpl.processItem(LoaderImpl.java:879)
at atg.repository.search.indexing.threading.ProcessItemJob.invoke(ProcessItemJob.java:145)
... 1 more



Suggest me the solution
  • 1. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    Pankaj.Rajankar Explorer
    Currently Being Moderated
    Hello,

    The error says '"EndecaDemoen_en_data", Root cause: Input record does not have a valid Id." This is most probably because there is not record specifier property for the records being imported into the CAS.
    Check if you have a property designated as record spec like this in the product-sku-output-config file.

    *<property name="$docId" type="string" output-name="record.spec"/>*

    Pankaj.
  • 2. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    979230 Newbie
    Currently Being Moderated
    This property is present in product-sku-output-config.xml. Is their something that i'm missing????

    Thanks for the reply
  • 3. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    979230 Newbie
    Currently Being Moderated
    I'm not able to solve this error...........any solution?????
    what might be the correct way to deal with.
  • 4. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    RohanDekate Newbie
    Currently Being Moderated
    Same Error I am Facing. Highly appreciate if some one explain this.
    Thanks in Advance.
  • 5. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    Jon Schneider Newbie
    Currently Being Moderated
    I'm having this problem as well.

    I haven't found a solution yet, but do have a bit of additional information to contribute: The error appears to originate from Endeca CAS (not from ATG). When I see the "Root cause: Input record does not have a valid Id." error in the ATG application log, if I go to my Endeca server, and look at the cas-service.log file located at endeca/CAS/workspace/logs, I see a message like:

    2013-04-10 08:23:36,891 INFO [MPen_en_schema] [1355087478@jetty-4] com.endeca.itl.recordstore.impl.RecordStoreImpl: Started transaction 1 of type READ_WRITE
    2013-04-10 08:23:45,697 WARN [MPen_en_dimvals] [1355087478@jetty-4] com.endeca.itl.recordstore.impl.RecordStorageEntryConverter: Error converting to a RecordStorageEntry [dimval.dimension_spec=product.category, dimval.prop.category.siteId=mpStore, dimval.display_name=Plastic, dimval.parent_spec=product.category, dimval.prop.category.repositoryId=12~3~523, dimval.prop.category.catalogs.repositoryId=Catalog10000,Catalog10001]
    com.endeca.itl.recordstore.InvalidRecordException: Input record does not have a valid Id.
    at com.endeca.itl.recordstore.impl.RecordStorageEntryConverter.handleInvalidRecord(RecordStorageEntryConverter.java:129)
    at com.endeca.itl.recordstore.impl.RecordStorageEntryConverter.createStorageEntry(RecordStorageEntryConverter.java:114)
    at com.endeca.itl.recordstore.impl.RecordStorageEntryConverter.createStorageEntries(RecordStorageEntryConverter.java:78)
    at com.endeca.itl.recordstore.impl.RecordStoreImpl.writeRecords(RecordStoreImpl.java:212)
    ...

    So, it would be very helpful to understand why Endeca CAS produces the "InvalidRecordException: Input record does not have a valid Id." error, and/or under what circumstances the RecordStorageEntryConverter.createStorageEntry() method calls the handleInvalidRecord() method.

    Edited by: Jon Schneider on Apr 10, 2013 5:46 AM
  • 6. Re: Baseline Index error (invoking from ProductCatalogSimpleIndexingAdmin)
    Jon Schneider Newbie
    Currently Being Moderated
    I've resolved the issue, as it was occurring in my local development environment.

    The problem was that in the BCC | Manage Site Assets, the Site did not have any default catalog configured. Setting the default catalog on the site resolved the issue: The CategoryToDimensionOutputConfig component of the baseline index process (as run from the ProductCatalogSimpleIndexingAdmin component in dyn admin) now no longer fails, and I correctly see the product category dimension appearing in the Endeca "orange" reference application.

    A side effect of the issue was that in the CategoryToDimensionOutputConfig component's "Test Document Generation" feature in Dyn Admin, several properties such as "dimval.spec" were not being generated (and no error message about a missing default catalog was being logged or displayed on the UI). Populating the default catalog for the site resolved this issue, and "dimval.spec" and the other missing properties are now being generated.

    Note: I think this specific fix may not be applicable to the problem as it was being seen by the original poster in this thread, as I do see a dimval.spec property included in their log file output; in my situation, no dimval.spec was present at all.

    For reference, with the default catalog for the site erroneously unpopulated, here's the set of properties that I was seeing generated by the CategoryToDimensionOutputConfig "Test Document Generation":
    - dimval.prop.category.siteId
    - dimval.dimension_spec
    - dimval.parent_spec
    - dimval.prop.category.repositoryId
    - dimval.display_name

    The following properties were silently (no warning or error logged or displayed in the UI) failing to be generated when the default catalog property was unset, but now are being correctly generated:
    - dimval.spec
    - dimval.qualified_spec
    - dimval.prop.category.rootCatalogId
    - dimval.prop.category.ancestorCatalogIds
    - dimval.display_order

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points