Skip to content

Conversation

Hedius
Copy link
Contributor

@Hedius Hedius commented Sep 7, 2025

fixes #321

not tested atm.

This PR modifies the struct rollupRulesResponseRecord to use int64 for age and precision.

At the moment this is a string. With ClickHouse 25.8 this is now an integer in the JSON.

@Hedius Hedius force-pushed the ch-25_8-remote-rollup-fix branch from f4f5c8e to 22061be Compare September 7, 2025 19:59
@Hedius
Copy link
Contributor Author

Hedius commented Sep 11, 2025

Not sure why the pipeline failed? The code seems to work. Is what I did correct?

Copy link
Contributor

@Hipska Hipska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should also add a fixes #321 into the PR comment to correctly link them.

Age string `json:"age"`
Precision string `json:"precision"`
Age uint64 `json:"age"`
Precision uint64 `json:"precision"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the ones still using CH pre 25.8? I think the best is to set output_format_json_quote_64bit_integers to false on the connection.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

People can also update their software^... At least when this is also in the next LTS release I think graphite-clickhouse should be compatible with it without any extra configuration

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nvm, 25.8 is a LTS release.

As I said. In my opinion, the software should work without any extra config params in the connection string, or server settings.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, therefore I suggested that G-CH would add the option to the connection, not that the user should add it (unless for now until G-CH is fixed).

}

return Retention{Age: uint32(age), Precision: uint32(prec)}, nil
return Retention{Age: uint32(d.Age), Precision: uint32(d.Precision)}, nil
Copy link
Contributor

@Hipska Hipska Oct 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also update Retention to contain uint64 instead?
The makeRetention function could probably also be removed since it's not doing anything special anymore.

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.

Rollup Auto Load broken with CH 25.8
2 participants