Behind the Blackboard! Error Occurs when Associating Course or User to Hierarchy Node - Behind the Blackboard Skip Navigation
Download PDF  Icon Download PDF    Print article

Error Occurs when Associating Course or User to Hierarchy Node

Date Published: Jul 29,2021


CategoryPlanned First Fix Release:Will Not Fix; Product:Data Management & Integrations; Version:Learn 9.1, 3900.0.0,Learn 9.1 Q4 2019 (3800.0.0),Learn 9.1, 3900.2.0,Learn 9.1 Q4 2017 (3300.0.0),Learn 9.1 Q2 2018 (3400.0.0),Learn 9.1 Q4 2018 (3500.0.0),Learn 9.1 Q2 2019 (3700.0.0),SaaS
Article No.: 000060985
Product:
Blackboard Learn
Release:
9.1;SaaS
Service Pack(s):
Learn 9.1, 3900.0.0, Learn 9.1 Q4 2019 (3800.0.0), Learn 9.1, 3900.2.0, Learn 9.1 Q4 2017 (3300.0.0), Learn 9.1 Q2 2018 (3400.0.0), Learn 9.1 Q4 2018 (3500.0.0), Learn 9.1 Q2 2019 (3700.0.0), SaaS
Description:
If using a custom script to generate the DSK in an Integration an error is thrown when running a Course or User Association feed more than once.
Steps to Repeat:
  1. Log into Blackboard Learn as a System Administrator
  2. Create a Data Source Key
  3. Create a new Snapshot Flat File Integration:
    • Integration Status = Active
    • Learn Data Source = Use the Learn Data Source defined in the inbound data
  4. Create and Quick Enroll in a Course
  5. Create and open an Institutional Hierarchy Node
  6. Create another Node inside of the Node
    • Take note of the identifier
  7. Create a course association feed file with the DSK in the feed file
  8. Run the Feed in Store Mode
    • Note that the run is successful
  9. Run the Feed in Store Mode again

Expected Behavior:
The run has no errors.

Observed Behavior:
The run has errors.

Symptoms:

Log example:
Jan 30, 2019 02:33:51 PM - Course Association [create/update, Mykey]
Persist Operation Failed for object type blackboard.platform.flatFileCourseAssociationSISObjectType.
blackboard.platform.dataintegration.operationdefinition.OperationHandlerException: CoursePersistOperation failed.
at blackboard.platform.dataintegration.operationdefinition.institutionalhierarchy.CourseAssociationPersistOperationHandler.handleOperation(CourseAssociationPersistOperationHandler.java:68)
at blackboard.platform.dataintegration.operationdefinition.institutionalhierarchy.CourseAssociationPersistOperation.execute(CourseAssociationPersistOperation.java:77)
at blackboard.platform.dataintegration.operationdefinition.BaseOperation.execute(BaseOperation.java:53)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.processOperation(OperationManagerImpl.java:99)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.executeOperation(OperationManagerImpl.java:43)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.executeOperation(OperationManagerImpl.java:34)
at blackboard.platform.dataintegration.mapping.impl.DataIntegrationObjectMappingManagerImpl.persistSISObject(DataIntegrationObjectMappingManagerImpl.java:237)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at blackboard.db.TransactionInterfaceFactory$TransactionHandler$1.run(TransactionInterfaceFactory.java:74)
at blackboard.db.ConnectionManager.performTransaction(ConnectionManager.java:565)
at blackboard.db.TransactionInterfaceFactory$TransactionHandler.invoke(TransactionInterfaceFactory.java:90)
at com.sun.proxy.$Proxy1351.persistSISObject(Unknown Source)
at blackboard.dataintegration.flatfile.mapping.handler.BaseDataHandler$1.run(BaseDataHandler.java:314)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1$1.call(BatchCommitter.java:94)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1$1.call(BatchCommitter.java:89)
at blackboard.db.DbUtil.callWithSavepointRollback(DbUtil.java:273)
at blackboard.db.DbUtil.callWithSavepointRollback(DbUtil.java:228)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1.run(BatchCommitter.java:88)
at blackboard.db.ConnectionManager.performTransaction(ConnectionManager.java:591)
at blackboard.platform.dataintegration.mapping.BatchCommitter.commit(BatchCommitter.java:123)
at blackboard.dataintegration.flatfile.mapping.handler.BaseDataHandler.doAfter(BaseDataHandler.java:257)
at blackboard.dataintegration.flatfile.parser.FlatFileParser.parse(FlatFileParser.java:150)
at blackboard.dataintegration.flatfile.queue.FlatFileMessageQueueHandler.onMessage(FlatFileMessageQueueHandler.java:179)
at blackboard.platform.messagequeue.impl.activemq.ActiveMQMessageQueueConsumer$ConsumerThread.configureContextWithMapMessage(ActiveMQMessageQueueConsumer.java:237)
at blackboard.platform.messagequeue.impl.activemq.ActiveMQMessageQueueConsumer$ConsumerThread.run(ActiveMQMessageQueueConsumer.java:191)
Caused by: java.lang.IllegalStateException: The Data Source BatchUid is not set.
at blackboard.platform.dataintegration.operationdefinition.institutionalhierarchy.AssociationPersistOperationHandler.setDataSourceId(AssociationPersistOperationHandler.java:25)
at blackboard.platform.dataintegration.operationdefinition.institutionalhierarchy.CourseAssociationPersistOperationHandler.handleOperation(CourseAssociationPersistOperationHandler.java:48)
... 27 more

The Data Source BatchUid is not set.
Mykey|2604c067-a5fa-42fb-bc85-3b3e775550bc|20240.201920|Y 
Skipping attribute: replacementDataSourceBatchUid. SKIP_ATTRIBUTE returned from mapping script.
Field mapping successful.




Target Release:

Will Not Fix

Patch Available:

No






The information contained in the Knowledge Base was written and/or verified by Blackboard Support. It is approved for client use. Nothing in the Knowledge Base shall be deemed to modify your license in any way to any Blackboard product. If you have comments, questions, or concerns, please send an email to kb@blackboard.com. © 2021 Blackboard Inc. All rights reserved