ODPS-0010000: System internal error
This error code covers 11 scenarios in MaxCompute. Each section describes the error message, cause, and solution.
Quick reference
Error | Symptom | Category | Quick fix |
1, 11 |
| OOM | Increase stage memory and CPU |
2 |
| Data integrity | Deduplicate source data |
3 |
| OSS integration | Retry the job |
4 |
| OSS integration | Grant OSS access permissions |
5 |
| SQL complexity | Split complex SQL into simpler queries |
6 |
| OOM | Reduce ARRAY field size or submit a ticket |
7 |
| Regex | Fix regex syntax |
8 |
| OOM | Increase mapper or reducer memory |
9, 10 |
| Data type operations | Use |
Out-of-memory (OOM) errors
Error 1: kWorkerOutOfMemory (basic)
Error message
ODPS-0010000:System internal error - fuxi job failed, caused by:
kWorkerOutOfMemory(errCode:256) at Odps/<job_id>/<stage_task>.
Detail error msg: KILL_NAKILL_NA:
plannedResource({Memory=<planned_mem>, CPU=<planned_cpu>})
usedResource({Memory=<used_mem>, CPU=<used_cpu>})Where:
<job_id>: The MaxCompute job identifier.<stage_task>: The stage and task identifier (for example,R2_1indicates reducer stage 2, task 1).<planned_mem>and<planned_cpu>: The resources planned for the task.<used_mem>and<used_cpu>: The resources consumed at runtime.
Cause
The job consumed more resources than planned, which caused an OOM error.
Solution
Identify the planned and used resource amounts from
plannedResourceandusedResourcein the error message.Determine the task type from the error message:
M: mapper
R: reducer
J: joiner
Use SET operations to adjust parameters based on the task type. For example, for a mapper task: Set the memory value higher than
<used_mem>reported in the error message.SET odps.stage.mapper.mem=<value>; SET odps.stage.mapper.split.size=<value>;
Hologres direct-read mode optimization
If the OOM error occurs while a MaxCompute job reads Hologres data through an external table in direct-read mode, increasing mapper memory alone may not resolve the issue. Configure the following Hologres-specific parameters in addition to the general memory settings:
Parameter | Recommended value | Description |
| 12288–16384 | Mapper memory (MB). Adjust based on data volume. |
| 512 | Mapper split size (MB). |
| 32 | Maximum parallelism for Hologres direct-read. |
| 4096 | Batch size for Hologres direct-read queries. |
| 50000 | Maximum number of mapper instances for Hologres external tables. |
|
| Snapshot read rule for Hologres tables. |
Example:
SET odps.stage.mapper.mem=12288;
SET odps.sql.mapper.split.size=512;
SET hg_foreign_table_executor_max_dop=32;
SET hg_experimental_query_batch_size=4096;
SET odps.external.holo.mapper.instances=50000;
SET odps.external.holo.read.table.rules='{get_snapshot_by_shard:10}';Error 11: kWorkerOutOfMemory (detailed example)
Error message
ODPS-0010000:System internal error - fuxi job failed, caused by:
kWorkerOutOfMemory(errCode:256) at
Odps/autonavi_location_20230831212329151gio81xoniqh_SQL_0_1_0_job_0/R2_1@68d01417.na62#4533.
Detail error msg: KILL_NAKILL_NA:
plannedResource({Memory=4096, CPU=100})
usedResource({Memory=5751, CPU=164}).Cause
The segment SQL_0_1_0_job_0/R2_1 indicates the OOM error occurred in the R2_1 task of the reducer stage.
plannedResource({Memory=4096, CPU=100}): Resources planned for this task.usedResource({Memory=5751, CPU=164}): Resources the task consumed at runtime.
The task required more memory and CPU than planned.
Solution
Set the memory and CPU for the stage where the OOM error occurred. In this example, configure the reducer stage:
SET odps.sql.reducer.memory=6144; -- Must be greater than the Memory value in usedResource
SET odps.sql.reducer.cpu=200; -- Must be greater than the CPU value in usedResourceError 6: alloc too large size
Error message
ODPS-0010000:System internal error - fuxi job failed, caused by:
alloc too large size: <size>Cause
The job requested too much memory at runtime. Possible causes:
A bug in MaxCompute.
Abnormal user data, such as an ARRAY type field with too many elements.
Solution
Check for oversized ARRAY data and reduce its volume.
If the issue persists, submit a ticket for technical support.
Error 8: Java OutOfMemoryError
Error message
ODPS-0010000:System internal error - failed to get error message of java
exception because of outofmemoryerrorCause
An OOM error caused the program to fail.
Solution
Increase memory by setting the following parameters:
SET odps.sql.mapper.cpu=400;
SET odps.sql.mapper.memory=8192;This example increases the mapper memory. If the OOM error occurs in a different stage, adjust the corresponding stage parameters instead. See Error 1: kWorkerOutOfMemory (basic) for how to identify the failing stage.
SQL complexity error
Error 5: Shortcut optimize failed
Error message
ODPS-0010000:System internal error - Shortcut optimize failed because the
script is too complexCause
The SQL statement is too complex, which causes the shortcut optimization to fail.
Solution
Optimize the SQL statement:
Split and simplify complex SQL statements.
Check for:
Deeply nested subqueries
Excessive JOIN operations
Complex aggregate or window functions
Reduce data processing volume:
Add WHERE clauses to limit query scope.
Query only the required partitions of partitioned tables.
Data type operation errors
Errors 9 and 10: NEQ on ARRAY type
These two errors share the same root cause and solution but differ in the error message.
Error messages
Error 9:
ODPS-0010000:System internal error - fuxi job failed, caused by:
codeGenCallBuiltinFunction fail in CopmareBase for function: NEQ, <details>Error 10:
ODPS-0010000:System internal error - fuxi job failed, caused by:
process core dumpedCause
Both errors occur when a NEQ (not equal) operation is performed on a field or expression of the ARRAY type. MaxCompute does not support this operation. For example, this can happen when the COLLECT_SET function is used.
Solution
Use a function that supports comparison operations on ARRAY type fields. For example, use SIZE(ARRAY)!=0 instead of a direct NEQ comparison. For more information, see SIZE.
Alternatively, upgrade MaxCompute to the latest version.
Regular expression error
Error 7: Regex compile error
Error message
ODPS-0010000:System internal error - fuxi job failed, caused by:
Regex compile errorCause
The regular expression in the SQL statement is invalid.
Solution
Fix the regular expression syntax in the SQL statement.
Object Storage Service (OSS) integration errors
Errors 3 and 4 produce the same error message but have different root causes.
Error messages (shared by Errors 3 and 4)
ODPS-0010000:System internal error -
build/release64/common/io/oss/oss_client.cpp(99): OSSRequestException:
req_id: <request_id>, http status code: 400, error code: InvalidArgument,
message: Authorization header is invalidDistinguish between Errors 3 and 4
Both errors produce the same error message. To determine the root cause:
Retry the job. If the job succeeds on retry, the cause was temporary OSS service instability (Error 3).
If the retry fails, check OSS permissions (Error 4). Verify that the user who accesses the external table has the required permissions on the corresponding OSS external table.
Error 3: OSSRequestException (temporary service issue)
Cause
Object Storage Service (OSS) experienced temporary service instability. Services were unavailable for a short period.
Solution
Rerun the job.
Error 4: OSSRequestException (permission issue)
Cause
The user does not have the required permissions to access the OSS file.
Solution
Grant the user who accesses the external table the permissions on the corresponding OSS external table.
Data integrity error
Error 2: MERGE INTO duplicate row
Error message
ODPS-0010000:System internal error - fuxi job failed, caused by:
Merge into statement not support update or delete duplicate row, please check
your query, the query text location is from [line <m>, column <n>] to
[line <i>, column <j>]Where:
<m>,<n>: The start position (line and column) of the problematic query text.<i>,<j>: The end position (line and column) of the problematic query text.
Cause
Duplicate values exist on both sides of the equal sign (=) from line <m>, column <n> to line <i>, column <j>. This causes duplicate rows due to data bloat. The MERGE INTO statement cannot update or delete duplicate rows, so the operation fails.
Solution
Check for duplicate values in the source data from line
<m>, column<n>to line<i>, column<j>.Remove duplicates before running the statement again.