-
Notifications
You must be signed in to change notification settings - Fork 517
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
Recovery support multi hosts and ports of external kafka cluster #1588
Recovery support multi hosts and ports of external kafka cluster #1588
Conversation
289b342
to
0bc62b2
Compare
0bc62b2
to
6bb6b5e
Compare
Doesn't matter, no worries. |
@MemberIT Do you have ready terraform kafka code for yandex cloud ? If not, okay. |
Is it possible to move the configuration somewhere else? Moving kafka hosts & ports to |
@patsevanton, I don't have any ready-made terraform code to quickly test this. |
Actually, until version sentry-v25.19.0, externalKafka could be either a hash or an array, which is very strange and prevents the introduction of additional values (in the future, we can add support for SSL authentication for kafka). While preparing the kafka sasl auth feature for sentry-v25.19.0, I missed that externalKafka can be an array because it was documented only in the README.md. I could restore backward compatibility in this PR to how it was before sentry-v25.19.0 by combining variables, which seems logical: externalKafka:
compression:
type: # 'gzip', 'snappy', 'lz4', 'zstd'
message:
max:
bytes: 50000000
socket:
timeout:
ms: 1000 and sentry:
kafka:
message:
max:
bytes: 50000000
compression:
type: # 'gzip', 'snappy', 'lz4', 'zstd'
socket:
timeout:
ms: 1000 But these variables need to be separated: externalKafka:
sasl:
mechanism: None # PLAIN, SCRAM-256, SCRAM-512
username: None
password: None
security:
protocol: plaintext # 'PLAINTEXT', 'SASL_PLAINTEXT', 'SASL_SSL', and 'SSL' like: externalKafkaSASL:
mechanism: None # PLAIN, SCRAM-256, SCRAM-512
username: None
password: None
externalKafkaSecurity:
protocol: plaintext # 'PLAINTEXT', 'SASL_PLAINTEXT', 'SASL_SSL', and 'SSL' Is it worth making these changes to guarantee backward compatibility? It seems normal to me that the structure of values passed into the chart can change from version to version. I am open to any suggestions on the PR. |
I'm leaning towards externalKafka:
sasl:
mechanism: None # PLAIN, SCRAM-256, SCRAM-512
username: None
password: None
security:
protocol: plaintext # 'PLAINTEXT', 'SASL_PLAINTEXT', 'SASL_SSL', and 'SSL' |
@MemberIT Hello! i created k8s and kafka by repository https://github.com/patsevanton/sentry-with-external-kafka and set values.yaml externalKafka:
cluster:
- host: "rc1a-ah3jsas127q8ng11.mdb.yandexcloud.net"
port: 9092
- host: "rc1b-c4pv8ou9atkl61b4.mdb.yandexcloud.net"
port: 9092
- host: "rc1d-h2gh8089paovc814.mdb.yandexcloud.net"
port: 9092
compression:
type: # 'gzip', 'snappy', 'lz4', 'zstd'
message:
max:
bytes: 50000000
sasl:
mechanism: SCRAM-SHA-512
username: sentry
password: your_password_here
security:
protocol: SASL_PLAINTEXT
socket:
timeout:
ms: 1000 Work! externalKafka:
host: "rc1a-ah3jsas127q8ng11.mdb.yandexcloud.net"
port: 9092
compression:
type: # 'gzip', 'snappy', 'lz4', 'zstd'
message:
max:
bytes: 50000000
sasl:
mechanism: SCRAM-SHA-512
username: sentry
password: your_password_here
security:
protocol: SASL_PLAINTEXT
socket:
timeout:
ms: 1000 work! FYI @Mokto |
This issue isn't add to tag 26.4.0? When will you add this issue to tag? |
Now my sentry version is 26.3.0, I can't use multi hosts and ports of external kafka ,and I'm meeting error "snuba.migrations.errors.MigrationInProgress: events_analytics_platform: 0009_drop_index_attribute_key_buckets_1_19", if this issue affect sentry-snuba-migrate. |
Now I just do "kubectl delete job sentry-snuba-migrate" to skip snuba-migrate |
Just now , my UI service and other service is still working healthly , if snuba-migrate is not prerequisite. |
It got stuck but I don't think it's related to this PR. More likely your clickhouse had some issues and I would retry this migration by creating a snuba debug container, exec into it and reverse this migration. |
@Mokto is it possible to merge this pull request ? |
Sorry but that would be super annoying to do with the current build system. Why don't you do it manually in your project? |
Already did, but it is a nasty hack regarding that the chart is set up in Terraform as a part of a module. |
@Lattenike, I reviewed the changes in helm chart from sentry-v25.18.0 to sentry-v26.5.0, and it seems that it might be possible to use the chart from sentry-v26.5.0 specifying Sentry version as 24.8.0 in helm chart to upgrade Sentry to 24.8.0, and then use it as is to upgrade Sentry to 24.9.0 |
That's a good idea. |
@iscultas, You need to change
After (for sentry-v26.5.0):
|
@iscultas |
Fix issue #1584