Here is how you can minimise risks of failing imports:
launching one import then wait “enough” time for the import to complete.
avoiding multiple users doing imports at the same time.
running your imports when there is little activity in the system (to avoid the imports process running into database entities locked by other user actions).
These recommendations are mostly applicable for customers who have busy Prod Test environments with multiple users trying to complete various actions, including multiple concurrent imports.
...
Table of Contents | ||
---|---|---|
|
Challenge
Importing a study design file into ClinSpark is relatively straightforward task. However depending on several factors, the process can take quite a while to complete due to the wide range of import entities the feature impacts.
Additionally, users may experience a long wait to receive feedback in the user interface and confirmation of success. Sometimes it can seem like the import has stalled or the system has stopped responding.
By design, the Import process takes place as a single database transaction. A long-living transaction can keep locks on various database records and tables, in case there is a need to roll-back due to a failed import. This also makes the import process an operation prone to lock timeout/deadlock problems scenarios with other transactions taking place in the system, resulting from the activity of other users interacting with the application at the same time.
To avoid complications during this process, this article outlines some suggestions to reduce the risk of an import failing.
Suggestions
Import design files “one at a time”
The import feature will only process one design file at a time. Attempting to process another import before the last one has completed may not yield expected results. Therefore, it’s recommended to start one import transaction and wait for it to complete with feedback in the user interface before starting another import. When processing the import is complete, ClinSpark will inform users if it was successful or not. At that time, try to process another import.
Info |
---|
As a browser-based application, ClinSpark allows multiple user ‘sessions’ to be launched through different tabs or windows. This would also suggest its possible for users to process multiple design files concurrently. We don’t recommend this: https://foundryhealth.atlassian.net/wiki/spaces/DOCS/pages/3700260899/Technical+Overview#Session-Management |
Avoid Concurrent Users
Due to the singular transaction, concurrent user import activities may conflict with the system at the same timeone another. If multiple users are attempting to import design files at the same time, some of those imports may not succeed. Wherever possible, avoid conflicting with other users who are attempting to perform imports at the same time.
Avoid Imports During Peak Activity
The import process may conflict with user activities taking place elsewhere in the system. Wherever possible, attempt to initiate import workflows avoiding ‘peak’ times of activity in the system.