Technical Blog Post
Abstract
Understanding how partial files are handled by IBM Sterling B2b Integrator
Body
In this blog I am posting step by step details with screenshots which helps to understand how partial files are handled by IBM Sterling B2b Integrator i,e what is a real partial file , what it does with partial files and what to expect .
Testing Prerequisites :
I have created the below resources for testing purpose
1. Created a simple SFTP server adapter which uses remote perimeter server.
Enabled Resumption through Radio Button "Limited (resume of file transfers)" in Adapter config + sftp.listStagedDocuments=True in customer_overrides
2. Created a mailbox called /Swaroopa
I initiated a large file transfer to SBI Sftp server adapter and interrupted the transfer by stopping SFTP remote perimeter server and this generates a partial file
If the transfer is deemed not to have completed successfully (e.g network issue) the data remains in the DOCUMENT_NURSERY table and will not be accessible to your BP's
For example:
You can see a entry in DOCUMENT_NURSERY table , however you can not see a entry in /swaroopa mailbox and hence no business process will be able to access the payload
Mailbox view
3. Depending on the value you have for listStagedDocuments two things can happen with the partial data in the DOCUMENT_NURSERY.
-> if listStagedDocuments=false (default) the data will be cleared by the Partial Document Cleanup Service schedule after 2 hours
-> if listStagedDocuments=true the data will be visible to the SFTP Client software and therefore be available to be resumed. If the transfer is resumed and deemed successful then the data will be to the DOCUMENT table for processing. If the transfer is not resumed then it will be cleared after 2 hours through "Partial Document Cleanup Service schedule".
Example: When listStagedDocuments=true in sftp.properties
In this use case, data is visible to winscp . However you can not see the message in /swaroopa
A partial file exist in DOCUMENT_NURSERY but not /swaroopa
Example 2: When a file transfer is manually interrupted by a user on client.
IBM Sterling B2B Integrator extracts these messages although they are being persisted as partial files and we do not have a feature, to avoid extracting partial files, built in B2Bi as of date.
However the good news is , if you have Sterling File gateway installed we do have a way to control it
Login in to Sterling B2B File system-> install/properties and edit filegateway.properties locate
################# Property: ignoreFilename #################
# Setting a regex pattern for this will cause
# any arrived file that matches your regex pattern to be ignored by FileGateway.
# This is useful for temporary files that you do not want to be routed and are not considered failures
ignoreFilename=
Code the extensions that you would like SFG to exclude processing .
Reviewed by: Krishna kishore Konda
UID
ibm11120797