FAQ and troubleshooting
API
Maximum results returned
Use pagination to fetch the results in smaller chunks through multiple API calls with max and offset parameters. The error below indidcates that you have run into the maximum result limit:
{object} length parameter cannot be greater than 100 (current value={value_sent})
To remedy this, see the example requests below:
curl -X GET "https://$TOWER_SERVER_URL/workflow/$WORKFLOW_ID/tasks?workspaceId=$WORKSPACE_ID&max=100" \
-H "Accept: application/json" \
-H "Authorization: Bearer $TOWER_ACCESS_TOKEN"
curl -X GET "https://$TOWER_SERVER_URL/workflow/$WORKFLOW_ID/tasks?workspaceId=$WORKSPACE_ID&max=100&offset=100" \
-H "Accept: application/json" \
-H "Authorization: Bearer $TOWER_ACCESS_TOKEN"
Launch users: 403 HTTP response from requests to /workflow/launch
Launch users have more restricted workspace permissions than maintainers, admins, and owners. To launch pipelines via API calls, Launch users must specify additional values that are optional for other users.
Attempting to launch a pipeline without specifying a launch.id in the API payload is equivalent to using Start Quick Launch in a workspace (a feature not available to Launch users).
Launch users must add a launch.id to pipeline launch requests:
-
Query the list of pipelines via the
/pipelinesendpoint. Find thepipelineIdof the pipeline you intend to launch. -
Call the
/pipelines/{pipelineId}/launchAPI to retrieve the pipeline'slaunch.id. -
Include the
launch.idin your request to the/workflow/launchAPI endpoint:{
"launch": {
"id": "Q2kVavFZNVCBkC78foTvf",
"computeEnvId": "4nqF77d6N1JoJrVrrgB8pH",
"runName": "sample-run",
"pipeline": "https://github.com/sample-repo/project",
"workDir": "s3://myBucketName",
"revision": "main"
}
}
Alternatively, upgrade your user role to 'Maintain' or higher to be able to quick-launch pipelines.
Common Errors
Unknown pipeline repository or missing credentials error from public Github repositories
GitHub imposes rate limits on repository pulls (including public repositories), where unauthenticated requests are capped at 60 requests/hour and authenticated requests are capped at 5000/hour. Seqera Platform users tend to encounter this error due to the 60 request/hour cap.
Try the following:
-
Ensure there's at least one GitHub credential in your workspace's Credentials tab.
-
Ensure that the Access token field of all GitHub credential objects is populated with a Personal Access Token value and not a user password. GitHub PATs are typically longer than passwords and include a
ghp_prefix. For example:ghp*IqIMNOZH6zOwIEB4T9A2g4EHMy8Ji42q4HA -
Confirm that your PAT is providing the elevated threshold and transactions are being charged against it:
curl -H "Authorization: token ghp_LONG_ALPHANUMERIC_PAT" -H "Accept: application/vnd.github.v3+json" https://api.github.com/rate_limit
Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) error
This error can occur if incorrect configuration values are assigned to the backend and cron containers' MICRONAUT_ENVIRONMENTS environment variable. You may see other unexpected system behavior, like two exact copies of the same Nextflow job submitted to the executor for scheduling.
Please verify the following:
- The
MICRONAUT_ENVIRONMENTSenvironment variable associated with thebackendcontainer:- Contains
prod,redis,ha - Does not contain
cron
- Contains
- The
MICRONAUT_ENVIRONMENTSenvironment variable associated with thecroncontainer:- Contains
prod,redis,cron - Does not contain
ha
- Contains
- You don't have another copy of the
MICRONAUT_ENVIRONMENTSenvironment variable defined elsewhere in your application (such as atower.envfile or KubernetesConfigMap). - If you're using a separate container/pod to execute
migrate-db.sh, ensure there's noMICRONAUT_ENVIRONMENTSenvironment variable assigned to it.
No such variable error
This error can occur if you execute a DSL 1-based Nextflow workflow using Nextflow 22.03.0-edge or later.
Sleep commands in Nextflow workflows
The sleep commands in your Nextflow workflows may differ in behavior depending on where they are:
- If used within an
errorStrategyblock, the Groovy sleep function will be used (which takes its value in milliseconds). - If used within a process script block, that language's sleep binary/method will be used. Example: this BASH script uses the BASH sleep binary, which takes its value in seconds.
Containers
Use rootless containers in Nextflow pipelines
Most containers use the root user by default. However, some users prefer to define a non-root user in the container to minimize the risk of privilege escalation. Because Nextflow and its tasks use a shared work directory to manage input and output data, using rootless containers can lead to file permissions errors in some environments:
touch: cannot touch '/fsx/work/ab/27d78d2b9b17ee895b88fcee794226/.command.begin': Permission denied
This should not occur when using AWS Batch from Seqera version 22.1.0. In other situations, you can avoid this issue by forcing all task containers to run as root. Add one of the following snippets to your Nextflow configuration:
// cloud executors
process.containerOptions = "--user 0:0"
// Kubernetes
k8s.securityContext = [
"runAsUser": 0,
"runAsGroup": 0
]
Databases
Seqera Enterprise 22.2.0: Database connection failure
Seqera Enterprise 22.2.0 introduced a breaking change whereby the TOWER_DB_DRIVER is now required to be org.mariadb.jdbc.Driver.
Clients who use Amazon Aurora as their database solution may encounter a java.sql.SQLNonTransientConnectionException: ... could not load system variables error, likely due to a known error tracked within the MariaDB project.
Please modify the Seqera Enterprise configuration as follows to try resolving the problem:
- Ensure your
TOWER_DB_DRIVERuses the specified MariaDB URI. - Modify your
TOWER_DB_URLto:TOWER_DB_URL=jdbc:mysql://YOUR_DOMAIN:YOUR_PORT/YOUR_TOWER_DB?usePipelineAuth=false&useBatchMultiSend=false