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

Congrats on new releases ! (insert pinata emoticon here), question regarding upgrade self-hosted #3329

Closed
bijancot opened this issue Sep 17, 2024 · 9 comments

Comments

@bijancot
Copy link

Hi guys,

Thank you all for the great works sentry is getting awesome time by time. Thank you to the creator and community. Just curious, recently i playing around with sentry and test some feature regarding it's maintainability and this morning i found out 24.9.0 is released.

So according this https://develop.sentry.dev/self-hosted/releases/ docs is it safe to upgrade to 24.9.0 from lets say 23.5.1 and following the version checkpoint and process to upgrade to 24.9.0 ?

Thank you so much!

best regards,
Baskoro

@aldy505
Copy link
Collaborator

aldy505 commented Sep 17, 2024

is it safe to upgrade to 24.9.0 from lets say 23.5.1 and following the version checkpoint and process to upgrade to 24.9.0 ?

No. Your upgrade path should be 23.5.1 -> 23.6.2 -> 23.11.0 -> 24.8.0 -> 24.9.0

@bijancot
Copy link
Author

Hi @aldy505 thank you for responses,

yes i already read the documentation about that but i mean is there any glitch or unexpected behavior ? back then when i test upgrade by the checkpoint or the version stop like for example 23.5.1 -> 23.6.2 -> 23.11.0 -> 24.8.0 i facing issue with cache config even after update it like documentation said here 9936376 and got error regarding unexpected argument server_max_value_length

@bijancot
Copy link
Author

Hi @aldy505 got another update, i try same steps again 23.5.1 -> 23.6.2 -> 23.11.0 -> 24.8.0 still have some issues regarding cache with this log

08:08:57 [WARNING] sentry: Unable to update option cache for system.base-hostname (key='system.base-hostname')
Traceback (most recent call last):
  File "/.venv/lib/python3.11/site-packages/sentry_sdk/integrations/wsgi.py", line 239, in close
    self._response.close()  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/http/response.py", line 335, in close
    signals.request_finished.send(sender=self._handler_class)
  File "/.venv/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 189, in send
    response = receiver(signal=self, sender=sender, **named)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/__init__.py", line 64, in close_caches
    caches.close_all()
  File "/.venv/lib/python3.11/site-packages/django/utils/connection.py", line 85, in close_all
    conn.close()
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 101, in close
    self._cache.disconnect_all()
    ^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 40, in _cache
    return self._class(self.client_servers, **self._options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: HashClient.__init__() got an unexpected keyword argument 'server_max_value_length'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/sentry/src/sentry/options/store.py", line 119, in get_cache
    value = self.cache.get(cache_key)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 75, in get
    return self._cache.get(key, default)
           ^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 40, in _cache
    return self._class(self.client_servers, **self._options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: HashClient.__init__() got an unexpected keyword argument 'server_max_value_length'
08:08:57 [WARNING] sentry: Unable to fetch option cache for transaction-events.force-disable-internal-project (key='transaction-events.force-disable-internal-project')
08:08:57 [INFO] sentry_sdk.errors: event processor (<function DedupeIntegration.setup_once.<locals>.processor at 0x7fda93607d80>) dropped event
Traceback (most recent call last):
  File "/.venv/lib/python3.11/site-packages/sentry_sdk/integrations/wsgi.py", line 243, in close
    reraise(*_capture_exception())
  File "/.venv/lib/python3.11/site-packages/sentry_sdk/utils.py", line 1649, in reraise
    raise value
  File "/.venv/lib/python3.11/site-packages/sentry_sdk/integrations/wsgi.py", line 239, in close
    self._response.close()  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/http/response.py", line 335, in close
    signals.request_finished.send(sender=self._handler_class)
  File "/.venv/lib/python3.11/site-packages/django/dispatch/dispatcher.py", line 189, in send
    response = receiver(signal=self, sender=sender, **named)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/__init__.py", line 64, in close_caches
    caches.close_all()
  File "/.venv/lib/python3.11/site-packages/django/utils/connection.py", line 85, in close_all
    conn.close()
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 101, in close
    self._cache.disconnect_all()
    ^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.11/site-packages/django/core/cache/backends/memcached.py", line 40, in _cache
    return self._class(self.client_servers, **self._options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: HashClient.__init__() got an unexpected keyword argument 'server_max_value_length'

kinda fail to use cache after upgrade process, everything fine until upgrade to 23.11.0 but when try to upgrade to 24.8.0 suddenly this fail appear

Do i need to stop at 24.1.2 due to https://develop.sentry.dev/self-hosted/releases/#breaking-changes breaking changes ?

Thank you all!

@bijancot
Copy link
Author

Found it why this happen,

so it's look like https://github.com/getsentry/self-hosted/blob/master/install/_lib.sh#L32-L46 is checking if my sentry.conf.py exist or not because the old one (from 23.11.0) exist, the install.sh not create new one based on the example.

Is there any background why it's not forced to create new config every install.sh executed?

@hubertdeng123
Copy link
Member

We are not forced to create new configs every time install.sh is executed to preserve previous settings that people may have.

@bijancot
Copy link
Author

bijancot commented Sep 19, 2024

We are not forced to create new configs every time install.sh is executed to preserve previous settings that people may have.

Thank you @hubertdeng123

that's make senses, then how about give heads up or updating docs to not only mentioning to update this 9936376 but also to review whole sentry.conf.py against sentry.conf.example.py

i know there is some part that mentioning to review all conf content but i don't expect sentry.conf.py that i have since 23.5.1 will make breaking issues for me,

Cheers !

@aldy505
Copy link
Collaborator

aldy505 commented Sep 21, 2024

that's make senses, then how about give heads up or updating docs to not only mentioning to update this 9936376 but also to review whole sentry.conf.py against sentry.conf.example.py

i know there is some part that mentioning to review all conf content but i don't expect sentry.conf.py that i have since 23.5.1 will make breaking issues for me,

We do have that said on the documentation: https://develop.sentry.dev/self-hosted/releases/#upgrading

The easiest way to do that is to see at the git diff between the tags. Here is the sample on comparing 24.8.0 to 24.9.0: https://github.com/getsentry/self-hosted/compare/24.8.0..24.9.0

@bijancot
Copy link
Author

Got it,

It's look like reviewing it manually it's the best choices, can't imagine if someone have enormous changes at the config then it automatically removed when upgrade is on it's way.

Thank you for responses!

@aldy505
Copy link
Collaborator

aldy505 commented Sep 21, 2024

I'm going to close this issue since it's been answered. Feel free to reply or open a new issue if you feel like asking something else.

@aldy505 aldy505 closed this as completed Sep 21, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Oct 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Archived in project
Archived in project
Development

No branches or pull requests

3 participants