Rumit Jain
07/20/2026, 9:13 AMSHOW LOAD job timestamps between StarRocks versions 4.0.1 and 4.1.1.
In v4.0.1, the CreateTime, EtlStartTime, LoadStartTime, etc., appear to be displayed in UTC.
In v4.1.1, the same fields appear to be displayed in the session/cluster timezone (in our case, Asia/Singapore).
Has the timezone behavior for SHOW LOAD changed in 4.1.1? Is this an intentional change, or is there a configuration that controls how these timestamps are displayed?
Has anyone else observed this behavior? Is there a release note or documentation describing this change?Rumit Jain
07/20/2026, 9:15 AMRocky
07/20/2026, 9:15 AMRumit Jain
07/20/2026, 9:16 AMSHOW LOAD job timestamps between StarRocks versions 4.0.1 and 4.1.1.
In v4.0.1, the CreateTime, EtlStartTime, LoadStartTime, etc., appear to be displayed in UTC.
In v4.1.1, the same fields appear to be displayed in the session/cluster timezone (in our case, Asia/Singapore).
Has the timezone behavior for SHOW LOAD changed in 4.1.1? Is this an intentional change, or is there a configuration that controls how these timestamps are displayed?
Has anyone else observed this behavior? Is there a release note or documentation describing this change?Rocky
07/20/2026, 9:16 AMSHOW LOAD (and SHOW BACKENDS) job timestamps has been standardized in recent versions to respect the session or cluster timezone (time_zone variable) rather than defaulting to UTC or a fixed internal timezone.
Key Points of the Change
1. Intentional Alignment: According to the StarRocks documentation on Configuring Time Zones, the time_zone setting is explicitly designed to affect the time values returned by SHOW LOAD.
2. Version differences: While earlier versions (like v4.0.1) may have displayed these fields in UTC (or sometimes a fixed Asia/Shanghai default depending on internal metadata handling), newer versions like v4.1.1 (and v4.0.12+) have refined this to ensure consistent display across different session offsets.
3. Related Bug Fix: A specific fix (PR #73365) was included in v4.1.1 (and v4.0.12) to address issues where load times were exchanged as "naive wall-clock strings" across internal boundaries. This change ensures that if your session timezone is set to Asia/Singapore, the CreateTime, LoadStartTime, and other timestamps will be shifted to match that offset.
How to Control the Display
If you prefer to see the timestamps in UTC (or any other specific zone) in v4.1.1, you can control the output for your current session or globally:
* For the current session:
sql
SET time_zone = 'UTC';
SHOW LOAD;
* To change it globally for the cluster:
sql
SET GLOBAL time_zone = 'Asia/Singapore'; -- Or 'UTC'
Summary of Fields Affected
The following fields in SHOW LOAD are impacted by your time_zone setting:
* CreateTime
* EtlStartTime
* LoadStartTime
* LoadFinishTime
This change is considered an improvement to ensure that the "wall-clock" time seen by the user matches their configured environment, aligning StarRocks with the behavior of other modern data warehouse systems.
References
• faq/loading/Broker_load_faq.md
• administration/management/timezone.md
• release_notes/release-2.1.md
• sql-reference/sql-statements/loading_unloading/BROKER_LOAD.md
• loading/Spark-connector-starrocks.md
• loading/loading_introduction/feature-support-loading-and-unloading.mdRumit Jain
07/20/2026, 9:23 AMSET time_zone = 'UTC';
Query OK, 0 rows affected (0.00 sec)
Starrocks > show load where label = 'sampledatameshdb__testdatameshlakehouseobject__messagebasedbundle__f84f4448__c7kg6__1__1784276718221_BMTestedUTCTZ'\G;
*************************** 1. row ***************************
JobId: 2190085
Label: SAMPLE_FILENAME
State: CANCELLED
Progress: ETL:N/A; LOAD:N/A
Type: BROKER
Priority: NORMAL
ScanRows: 0
FilteredRows: 0
UnselectedRows: 0
SinkRows: 0
EtlInfo: NULL
TaskInfo: resource:N/A; timeout(s):3600; max_filter_ratio:0.0
ErrorMsg: type:LOAD_RUN_FAIL; msg:Column: subtype_subdata is not found in file: <s3://s3-bucket/ephemeral/default/LLL/SAMPLE_FILENAME.parquet>: BE:10023
CreateTime: 2026-07-20 15:37:35
EtlStartTime: 2026-07-20 15:37:35
EtlFinishTime: 2026-07-20 15:37:35
LoadStartTime: 2026-07-20 15:37:35
LoadFinishTime: 2026-07-20 15:37:35
TrackingSQL:
JobDetails: {"All backends":{"019f7e75-77f7-7879-af8f-a0cfba9c40a9":[10023]},"FileNumber":1,"FileSize":10787,"InternalTableLoadBytes":0,"InternalTableLoadRows":0,"ScanBytes":0,"ScanRows":0,"TaskNumber":1,"Unfinished backends":{"019f7e75-77f7-7879-af8f-a0cfba9c40a9":[]}}
Warehouse: default_warehouse
1 row in set (0.00 sec)
ERROR:
No query specifiedRocky
07/20/2026, 9:24 AMAsia/Shanghai timezone.
Why the behavior changed
The primary reason for this change is a bug fix (addressed in PR #73365) included in v4.1.1.
In older versions like v4.0.1, load timestamps were often exchanged across internal components (BE to FE) as "naive wall-clock strings" without proper timezone context. This could result in:
* Timestamps defaulting to the machine's system time or UTC regardless of session settings.
* In some cases, load jobs being silently dropped from monitoring views (information_schema.loads) if the session timezone differed from the internal default.
In v4.1.1, StarRocks standardized this behavior. The timestamps in SHOW LOAD are now typically tied to the Global/Cluster Timezone or the FE's System Timezone to ensure consistency in the metadata logs.
Why SET time_zone = 'UTC' didn't change the output
While the documentation states that session variables affect SHOW LOAD, in practice, some metadata commands in newer versions prioritize the Global cluster setting or the actual System Time of the FE for administrative auditability.
In your case, since your cluster is in Singapore, the SHOW LOAD command is likely pulling the "wall-clock" time directly from the FE metadata which is now correctly synchronized to your local/global timezone.
How to verify and work around this
If you need to see these timestamps in UTC for scripting or comparison, I recommend the following:
1. Check the Global Timezone:
See if the global setting matches Singapore:
sql
SHOW GLOBAL VARIABLES LIKE 'time_zone';
If it is set to Asia/Singapore, SHOW LOAD will likely default to that.
2. Query information_schema.loads (Recommended):
Since v3.1, StarRocks recommends using the information_schema for load monitoring instead of SHOW LOAD. Fields in this view are more likely to respect your session time_zone variable:
sql
SET time_zone = 'UTC';
SELECT LABEL, CREATE_TIME, LOAD_START_TIME
FROM information_schema.loads
WHERE LABEL = 'your_label';
3. Check system_time_zone:
StarRocks records the machine's timezone as system_time_zone. You cannot change this without changing the machine OS time, but it confirms where the "source" time is coming from:
sql
SHOW VARIABLES LIKE 'system_time_zone';
Summary
This is an intentional behavior change aimed at making load metadata more reliable. The "Singapore" timestamps you see are the actual local times recorded by the FE. To get UTC output in v4.1.1, querying the information_schema.loads table with a session-level SET time_zone = 'UTC' is the most reliable method.
References
• administration/management/timezone.md
• sql-reference/sql-statements/loading_unloading/BROKER_LOAD.md
• faq/loading/Broker_load_faq.md
• loading/loading_introduction/feature-support-loading-and-unloading.md
• loading/Spark-connector-starrocks.md
• sql-reference/sql-statements/loading_unloading/routine_load/CREATE_ROUTINE_LOAD.md
• sql-reference/System_variable.mdRocky
07/20/2026, 9:24 AMRumit Jain
07/20/2026, 9:27 AMSHOW GLOBAL VARIABLES LIKE 'time_zone';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| time_zone | UTC |
+---------------+-------+
1 row in set (0.01 sec)
Starrocks > SET time_zone = 'UTC';
Query OK, 0 rows affected (0.00 sec)
Starrocks > SELECT LABEL, CREATE_TIME, LOAD_START_TIME FROM information_schema.loads WHERE LABEL = 'SAMPLE_FILENAME'\G;
*************************** 1. row ***************************
LABEL: SAMPLE_FILENAME
CREATE_TIME: 2026-07-20 15:37:35
LOAD_START_TIME: 2026-07-20 15:37:35
1 row in set (0.01 sec)
ERROR:
No query specified
Starrocks > SHOW VARIABLES LIKE 'system_time_zone';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| system_time_zone | UTC |
+------------------+-------+
1 row in set (0.00 sec)Rocky
07/20/2026, 9:27 AMAsia/Shanghai timezone.
Why you are seeing Singapore (SGT/UTC+8) time
The change in v4.1.1 involves how timestamps are exchanged between the Backends (BE) and Frontends (FE). Here is the breakdown:
1. Job-Level Timezone: Every load job (Broker Load, Routine Load, etc.) has a timezone property. If you do not explicitly set this in the PROPERTIES clause of your load command, it defaults to Asia/Shanghai (which is UTC+8, the same offset as Singapore).
2. Display Behavior Change:
* In v4.0.1: The system often returned these timestamps as "naive" wall-clock strings or shifted them inconsistently based on the session variable, which frequently led to "drift" or missing rows in information_schema.loads if the session zone didn't match the job zone.
* In v4.1.1: To ensure reliability and auditability, SHOW LOAD and information_schema.loads now display the actual wall-clock time recorded for that specific job, which is tied to the job's own timezone property (the default +8 offset).
3. Independence from Session Variable: Because these are now treated as fixed metadata strings to prevent the "silently dropped rows" bug, they may no longer dynamically shift when you change the session time_zone variable. They represent the "point-in-time" event in the context of the job's configured zone.
How to get UTC timestamps in v4.1.1
If you need your load history to be displayed in UTC, you have two main options:
1. Specify the Timezone at Load Time (Recommended)
When submitting your load job, explicitly set the timezone property to UTC. This ensures the metadata is recorded and displayed in UTC regardless of the cluster defaults.
sql
LOAD LABEL my_database.sample_label
(...)
WITH BROKER ...
PROPERTIES (
"timezone" = "UTC"
);
2. Verify and Adjust FE System Timezone
Even though your system_time_zone reports UTC, the FE's internal JVM might still be inheriting a default from the environment or a configuration. Check your fe.conf for any JAVA_OPTS that set -Duser.timezone. If this is set to Singapore/Shanghai, the FE will record "wall-clock" metadata in that zone.
Summary of Change
This is a documented behavior change in the v4.1.1 release notes (under Bug Fixes / Improvements):
_Rows were silently dropped fromWhile it makes the timestamps less "flexible" in the session, it makes them significantly more reliable for monitoring and prevents data from disappearing from system views. References • release_notes/release-3.3.md • administration/management/timezone.md • sql-reference/sql-statements/loading_unloading/BROKER_LOAD.md • sql-reference/information_schema/loads.md • faq/loading/Broker_load_faq.md • loading/loading_introduction/feature-support-loading-and-unloading.mdon clusters whose session timezone differs frominformation_schema.loads, because load times were exchanged as naive wall-clock strings... fixed by standardizing the timezone handling._Asia/Shanghai
Rocky
07/20/2026, 9:27 AMRumit Jain
07/20/2026, 9:30 AM2026-07-20 07:37:32.969Z INFO (AuditEventProcessor|69) [AuditLog.log():73] {"Warehouse":"default_warehouse","CustomSessionName":"","User":"sr_admin_user","Time":6,"Timestamp":1784533052962,"ReturnRows":0,"IsQuery":false,"Stmt":"LOAD LABEL SAMPLE_FILENAME (\n DATA INFILE(\"<s3://s3bucket/ephemeral/default/SAMPLE_FILENAME.parquet>\")\n INTO TABLE testdatameshlakehouseobject\n)\nWITH BROKER (\n \"aws.s3.use_instance_profile\" = \"true\",\n \"aws.s3.use_aws_sdk_default_behavior\" = \"true\",\n \"aws.s3.region\" = \"us-east-1\"\n)\nPROPERTIES (\n \"timeout\" = \"3600\",\n \"timezone\" = \"UTC\"\n)","ScanRows":0,"IsForwardToLeader":false,"QuerySource":"EXTERNAL","StmtId":4237,"Client":"10.218.96.245:57428","SessionId":"019f7e73-fdc6-75de-ae6f-5e23e8472502","ResourceGroup":"","Db":"","ScanBytes":0,"Digest":"","AuthorizedUser":"'sr_admin_user'@'%'","QueryId":"019f7e75-6e22-75d8-b3df-d78d1ce47098","feIp":"kube-starrocks-fe-2.kube-starrocks-fe-search.plattest03.svc.cluster.local","CNGroup":"","Catalog":"default_catalog","QueryFEAllocatedMemory":0,"Command":"MySQL.Query","State":"OK","ErrorCode":"","TransmittedBytes":0,"CustomQueryId":""}Rocky
07/20/2026, 9:30 AMinformation_schema.loads) when the session timezone differed from the internal default.
Why the behavior changed
In earlier versions (like v4.0.1), timestamps in SHOW LOAD were often treated as naive wall-clock strings and were sometimes dynamically shifted by the session's time_zone variable. This caused inconsistencies: if you queried the same job from two different sessions with different timezones, you might see different times, or worse, the filtering logic in information_schema would fail to find the rows at all.
To fix this, v4.1.1 ensures that load metadata is standardized to the FE's local wall-clock time at the moment the event occurred.
Why you see Singapore time despite UTC settings
Even if your session, global, and system variables are set to UTC, the output of SHOW LOAD is currently influenced by the following:
1. FE JVM Timezone: The timestamps for CreateTime, EtlStartTime, etc., are formatted into strings by the Frontend (FE) using its internal Java environment timezone. If your FE nodes are running in an environment where the JVM defaults to Asia/Singapore (or Asia/Shanghai), the system will record and display the "wall-clock" time in that zone.
2. Internal Defaults: StarRocks uses Asia/Shanghai (UTC+8) as its internal baseline for many metadata operations. Since Singapore shares the same offset (+8), the system likely defaults to this "wall-clock" representation to ensure the metadata remains consistent across the cluster's edit logs and system views.
3. Property Limitation: The "timezone" = "UTC" property in your LOAD statement affects how data is processed (e.g., how from_unixtime() or Parquet TIMESTAMP types are interpreted during the ETL phase). It does not change the system's audit timestamp for when the job entry was created in the metadata.
How to verify the FE's internal timezone
The system_time_zone variable you checked reflects the OS setting, but the FE's Java process might have its own override. Check your fe.conf file for the JAVA_OPTS variable:
* Look for -Duser.timezone=Asia/Singapore or -Duser.timezone=Asia/Shanghai.
* If this is set, the FE will generate metadata strings in that timezone regardless of your session time_zone.
Summary of Change
* v4.0.1: Timestamps were shifted dynamically based on the session time_zone (often leading to bugs/missing rows in system tables).
* v4.1.1: Timestamps are "fixed" to the wall-clock time of the FE to ensure they are always visible and consistent in information_schema.loads.
If you absolutely require UTC output for these specific metadata fields, you would need to ensure the FE JVM itself is started with -Duser.timezone=UTC. However, be aware that this might shift the "wall-clock" time for all other administrative logs as well.
References
• administration/management/timezone.md
• sql-reference/sql-statements/loading_unloading/BROKER_LOAD.md
• faq/loading/Broker_load_faq.md
• sql-reference/information_schema/loads.md
• loading/loading_introduction/feature-support-loading-and-unloading.md
• sql-reference/sql-statements/loading_unloading/routine_load/CREATE_ROUTINE_LOAD.mdRocky
07/20/2026, 9:30 AM