toluaina / pgsync

Postgres to Elasticsearch/OpenSearch sync
https://pgsync.com
MIT License
1.1k stars 172 forks source link

pgsync 3.1.0 dose not support some elasticsearch connection #523

Open tangye1234 opened 5 months ago

tangye1234 commented 5 months ago

PGSync version: 3.1.0

Postgres version: any

Elasticsearch/OpenSearch version: 7.x

Redis version: any

Python version: 3.10

Problem Description: when bootstrap bootstrap keeps saying elasticsearch is not a supported server, but pgsync 3.0.0 dose not have this problem

Error Message (if any):

root@98a8c96750a1:/app# bootstrap
Traceback (most recent call last):
  File "/usr/local/bin/bootstrap", line 75, in <module>
    main()
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/bin/bootstrap", line 60, in main
    sync: Sync = Sync(
  File "/usr/local/lib/python3.10/site-packages/pgsync/singleton.py", line 36, in __call__
    cls._instances[key] = super(Singleton, cls).__call__(
  File "/usr/local/lib/python3.10/site-packages/pgsync/sync.py", line 88, in __init__
    self.search_client: SearchClient = SearchClient()
  File "/usr/local/lib/python3.10/site-packages/pgsync/search_client.py", line 48, in __init__
    self.__client.info()["version"]["number"].split(".")[0]
  File "/usr/local/lib/python3.10/site-packages/elasticsearch/_sync/client/utils.py", line 402, in wrapped
    return api(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/elasticsearch/_sync/client/__init__.py", line 2278, in info
    return self.perform_request(  # type: ignore[return-value]
  File "/usr/local/lib/python3.10/site-packages/elasticsearch/_sync/client/_base.py", line 331, in perform_request
    raise UnsupportedProductError(
elasticsearch.UnsupportedProductError: The client noticed that the server is not Elasticsearch and we do not support this unknown product

P.S. I use a self signed secure elastic search 7.x

grindarius commented 5 months ago

I am having this problem too trying to get elasticsearch 7.10 working (latest version supported by AWS OpenSearch)

toluaina commented 5 months ago
tangye1234 commented 4 months ago
  • are you using Elasticsearch or OpenSearch.
  • what version are you using here.
  • For OpenSearch you would need to defined an environment variable OPENSEARCH=True

Im using Elastic search 7.x