Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow collector and web to fail fast when required tables for span/stat compatibility versions do not exist #2187

Closed
Xylus opened this issue Oct 24, 2016 · 0 comments · Fixed by #2196
Assignees
Milestone

Comments

@Xylus
Copy link
Contributor

Xylus commented Oct 24, 2016

With the introduction of span/stat v2 tables new configuration options were added to ensure smooth transition from v1 -> v2.
The relevant configuration options are as follows:

Collector - pinpoint-collector.properties

collector.experimental.span.format.compatibility.version=v1|v2|dualWrite
collector.experimental.stat.format.compatibility.version=v1|v2|dualWrite

Web - pinpoint-web.properties

web.experimental.span.format.compatibility.version=v1|v2|compatibilityMode|dualRead
web.experimental.stat.format.compatibility.version=v1|v2|compatibilityMode

As it is currently, if the option is set without having the necessary table (for example setting collector.experimental.span.format.compatibility.version=v2 without actually having the table TraceV2), the error is thrown late during runtime after collector startup. This could be especially undesirable for the collector as it could cause data losses.

It would be better to simply stop the collector from starting up correctly at all, and let developers know about it before traffic starts flowing in.
Current plan is to stop the collector/web from starting up under the following circumstances:

  • v1 - Fail if Traces or AgentStat tables are missing
  • v2 - Fail if TraceV2 or AgentStatV2 tables are missing
  • dualWrite/dualRead/compatibilityMode - Fail if either of the v1, v2 tables is missing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant