Petals BC Filetransfer

Avoid to be blocked when trying to access locked files

Details

  • Description:
    Hide

    When reading a file with operations get, getAsAttachment and mget, a check is done to verify if the file is locked or not by another program. If the file is locked, the operation is blocked until the file can be locked by the BC FileTransfer. And so timeout can occurs.

    New locked file management:

    • for operations 'get' and 'getAsAttachment', if the file is locked, we wait few seconds before to return an error. The error returned is a fault to be able to manage it in a process point of view.
    • for operation 'mget', if a file is locked, we wait few seconds before to skip the file and continue with other files matching file patterns. No error is raised.

    The waiting time could be set at SU level: 'locking-wait-time', defined in seconds. This waiting time is checked per period defined by 'locking-poll-interval' in milliseconds.
    If not set at SU level, the global configuration at component level is used: 'locking-wait-time' and 'locking-poll-interval'.
    Default value at component level:

    • locking-wait-time: 5seconds,
    • locking-poll-interval: 1000ms

    Component level parameters can be changed at runtime.

    Show
    When reading a file with operations get, getAsAttachment and mget, a check is done to verify if the file is locked or not by another program. If the file is locked, the operation is blocked until the file can be locked by the BC FileTransfer. And so timeout can occurs. New locked file management:
    • for operations 'get' and 'getAsAttachment', if the file is locked, we wait few seconds before to return an error. The error returned is a fault to be able to manage it in a process point of view.
    • for operation 'mget', if a file is locked, we wait few seconds before to skip the file and continue with other files matching file patterns. No error is raised.
    The waiting time could be set at SU level: 'locking-wait-time', defined in seconds. This waiting time is checked per period defined by 'locking-poll-interval' in milliseconds. If not set at SU level, the global configuration at component level is used: 'locking-wait-time' and 'locking-poll-interval'. Default value at component level:
    • locking-wait-time: 5seconds,
    • locking-poll-interval: 1000ms
    Component level parameters can be changed at runtime.
  • Environment:
    -

Issue Links

Activity

Transition Status Change Time Execution Times Last Executer Last Execution Date
New New Open Open
7s
1
Christophe DENEUX
Fri, 22 Nov 2019 - 18:12:03 +0100
Open Open In Progress In Progress
13d 16h 8m
1
Christophe DENEUX
Fri, 6 Dec 2019 - 10:20:57 +0100
In Progress In Progress Resolved Resolved
4d 6h 15m
1
Christophe DENEUX
Tue, 10 Dec 2019 - 16:36:36 +0100
Resolved Resolved Open Open
48s
1
Christophe DENEUX
Tue, 10 Dec 2019 - 16:37:24 +0100
Open Open In Progress In Progress
3s
1
Christophe DENEUX
Tue, 10 Dec 2019 - 16:37:27 +0100
In Progress In Progress Resolved Resolved
1d 20h 47m
1
Christophe DENEUX
Thu, 12 Dec 2019 - 13:25:22 +0100

People

Dates

  • Created:
    Fri, 22 Nov 2019 - 18:11:56 +0100
    Updated:
    Thu, 12 Dec 2019 - 13:25:22 +0100
    Resolved:
    Thu, 12 Dec 2019 - 13:25:22 +0100