Skip to content

Pinterest integration 3.4.0 cherrypicks from pinterest-integration-3.3#64

Draft
ctbrennan wants to merge 38 commits intopinterest-integration-3.4.0from
pinterest-integration-3.4.0-cherrypicks
Draft

Pinterest integration 3.4.0 cherrypicks from pinterest-integration-3.3#64
ctbrennan wants to merge 38 commits intopinterest-integration-3.4.0from
pinterest-integration-3.4.0-cherrypicks

Conversation

@ctbrennan
Copy link

Why I'm doing:

What I'm doing:

Fixes #issue

What type of PR is this:

  • BugFix
  • Feature
  • Enhancement
  • Refactor
  • UT
  • Doc
  • Tool

Does this PR entail a change in behavior?

  • Yes, this PR will result in a change in behavior.
  • No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

  • Interface/UI changes: syntax, type conversion, expression evaluation, display information
  • Parameter changes: default values, similar parameters but with different default values
  • Policy changes: use new policy to replace old one, functionality automatically enabled
  • Feature removed
  • Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

  • I have added test cases for my bug fix or my new feature
  • This pr needs user documentation (for new or modified features or behaviors)
    • I have added documentation for my new feature or new function
  • This is a backport pr

Bugfix cherry-pick branch check:

  • I have checked the version labels which the pr will be auto-backported to the target branch
    • 3.4
    • 3.3
    • 3.2
    • 3.1
    • 3.0

mergify bot and others added 30 commits October 16, 2025 21:20
…tarRocks#59848)

Signed-off-by: starrocks-xupeng <xupeng@starrocks.com>
Co-authored-by: starrocks-xupeng <xupeng@starrocks.com>
…ve logging + add nodes to tabletcomputenodemapper when deserializing SystemInfoService + have WarehouseManager return all cn matching-rig instead of just those which are available
….Date and Type.Datetime (StarRocks#60014)

Why I'm doing:
When adding temporary partitions using an ALTER TABLE statement with START and END values that include hour/minute/second, StarRocks would incorrectly truncate the partition key values and only preserve the date part after parsing, even if the partition column is of type DATETIME. This leads to errors when adding hourly temporary partitions, including failed validation due to "The lower values must smaller than upper values."

Logging at each step showed that:
The table and partition column’s type remained DATETIME throughout the parser, visitor, and analyzer.
However, inside MultiRangePartitionDesc.buildDateTypePartition(), even though the type was reported as DATETIME, the code used the DATE formatter unless the object passed an identity (==) comparison to Type.DATETIME.
Note on what I learned during unit test writing
I found by forcibly creating a non-singleton ScalarType in tests—that there must exist at least one code path in the system where a ScalarType (such as DATETIME) is instantiated without going through the canonical singleton factory method (Type.DATETIME, Type.fromPrimitiveType, etc.). This probably happens during some sort of image deserialization, by json/protobuf libraries maybe.
The added unit test demonstrates this risk. While this PR addresses the specific instance I found, similar issues could exist in other type comparison sites throughout the codebase, hard to say.

What I'm doing:
Replaced == with .isDatetime() when comparing partition column types to Type.DATETIME in date partition construction logic.
For this, the relevant one is in com.starrocks.sql.ast.MultiRangePartitionDesc#buildDateTypePartition. I also went and did the same thing where there was obviously the same bug for Date and Datetime types.
Another possible solution would have been to override Type.equals() but I'm not confident that I'd do it correctly for all cases and it would have a bigger blast radius.
Temporary partitions now correctly parse and preserve full datetime values, supporting hourly partitioning aligned with the schema.

Fixes #issue
…chemaChangeJobTest

- Convert Java 13 text blocks to Java 11 string concatenation
- Convert JUnit 5 Assertions to JUnit 4 Assert calls
- Fix locking API changes (Database object vs long ID)
- Add proper spacing in SQL string concatenation

This completes the cherry-pick of commit 35eb1f2
for fast schema evolution with key column additions in shared-data tables.
…res, resolve cache select parameters

- Added StarOSAgent import to SystemInfoService.java
- Fixed CacheSelectBackendSelector constructor to include WorkerProvider parameter
- Added missing shouldUseInternalTabletToCnMapper() method to SystemInfoService
- Fixed method calls from getOptionalTabletId to maybeGetTabletId
- Removed duplicate warehouse method definitions in WarehouseManager.java
- Added TODO for TabletMappingProcNode getComputeNodeId method signature

All compilation errors resolved: 31 → 0 (100% success rate)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant