Skip to content

Race between layer and Lambda update #5927

@achave11-ucsc

Description

@achave11-ucsc

The example below is from anvildev, however the same errors occurred on dev and anvilprod.

During the deploy job for the merge commit of PR #5909 (which updated the elasticsearch client from 7.10.1 to 7.17.9), an UnsupportedProductError occurred for both the indexercachehealth and servicecachehealth lambdas.

CloudWatch Insights logs:

[ERROR] UnsupportedProductError: The client noticed that the server is not a supported distribution of Elasticsearch
Traceback (most recent call last):
  File "/var/task/azul/chalice.py", line 166, in patched_event_source_handler
    return old_handler(self_, event, context)
  File "/var/task/chalice/app.py", line 1756, in __call__
    return self.handler(event_obj)
  File "/var/task/app.py", line 212, in update_health_cache
    app.health_controller.update_cache()
  File "/var/task/azul/health.py", line 138, in update_cache
    health_object = dict(time=time.time(), health=self._health.as_json_fast())
  File "/var/task/azul/health.py", line 308, in as_json_fast
    return self.as_json(p.key for p in self.fast_properties[self.lambda_name])
  File "/var/task/azul/health.py", line 181, in as_json
    json = {k: getattr(self, k) for k in sorted(keys)}
  File "/var/task/azul/health.py", line 181, in <dictcomp>
    json = {k: getattr(self, k) for k in sorted(keys)}
  File "/var/task/azul/health.py", line 73, in __get__
    return super().__get__(obj, objtype=objtype)
  File "/var/task/azul/caching.py", line 189, in __get__
    value = obj.__dict__[self.fget.__name__] = self.fget(obj)
  File "/var/task/azul/health.py", line 273, in elasticsearch
    'up': ESClientFactory.get().ping(),
  File "/opt/python/elasticsearch/client/utils.py", line 347, in _wrapped
    return func(*args, params=params, headers=headers, **kwargs)
  File "/opt/python/elasticsearch/client/__init__.py", line 280, in ping
    return self.transport.perform_request(
  File "/opt/python/elasticsearch/transport.py", line 421, in perform_request
    _ProductChecker.raise_error(self._verified_elasticsearch)
  File "/opt/python/elasticsearch/transport.py", line 638, in raise_error
    raise UnsupportedProductError(message)

Metadata

Metadata

Assignees

Labels

-[priority] Mediumgroomed[process] Issue was recently looked at during backlog groominginfra[subject] Project infrastructure like CI/CD, build and deployment scriptsspike:8[process] Spike estimate of eight points

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions