# Frequently Asked Questions

## Error: Open leveldb err: resource temporarily unavailable

### Root cause

1. You are using an older version of US3CLI (<= v1.3.0). Older versions do not support running multiple processes at the same time.
2. With newer US3CLI versions, you execute the same command multiple times simultaneously.

### Solution

- For cause 1: run `us3cli update` to upgrade the tool.
- For cause 2: check whether there are running US3CLI processes in the background. You can stop the old process with `kill -9 <pid>`.

## Bucket operations (e.g., stat/ls/du) fail with: bucket not found

### Root cause

By default, US3CLI searches for buckets within the account’s **default project**. If your bucket is not in the default project, you must specify the bucket’s project ID using `--projectid`.

### Solution

Append `--projectid <projectid>` to the command.

```
# 1) Find the project ID (projectid)
# Method 1: mb shows all projects when creating a bucket
# Method 2: check the console (top-left)
# Method 3: ./us3cli ls --project shows all projects

# 2) Operate on the bucket with the specified projectid
./us3cli stat us3://bucketest --projectid xxxx
./us3cli du us3://buckettest --projectid xxxx
```

## What is the difference between parallel and qps?

- `parallel` controls the number of concurrent workers (goroutines). It does not guarantee a fixed request rate.
- `qps` limits the number of requests per second. For example, `qps=1` limits to 1 request per second.

## Uploaded successfully but cannot find the file when no object key is specified

### Root cause

When uploading to a “directory” in object storage, you must end the directory name with `/` to make it unambiguous; otherwise, it may be treated as an object key rather than a directory prefix.

### Solution

For example, to upload local file `test1` to `bucketTest/test/`:

```
Method 1: ./us3cli cp test1 us3://bucketTest/test
Method 2: ./us3cli cp test1 us3://bucketTest/test/test1
Method 3: ./us3cli cp test1 us3://bucketTest/test/
```

Method 1 creates an object named `test` at the bucket root. Methods 2 and 3 upload `test1` under `test/`.

## When using us3cli globally from /bin, update says it cannot find the file

### Root cause

During update, US3CLI tries to locate the executable based on input arguments. If only the command name is available (without the full path), it may fail to locate the file.

### Solution

Run `us3cli update` directly from the `/bin` directory.

## Error: Signature VerifyAC Error

### Root cause

US3 Tokens (public keys starting with `TOKEN_`) only support bucket object operations. If you use a command that requires APIKey authentication, you may see `ERROR Signature VerifyAC Error`.

### Solution

Use APIKey authentication instead of Token for that command.


