pgsql-io/multicorn2

Is PG15 Supported

Closed this issue · 11 comments

luss commented

PG 15 is presently at Beta4 and is expected to be RC & then GA in the next month or two. Does Multicorn2 support it?

luss commented

Yes, it's a work in process. Affan Salman is a new committer for this project and he has checked in a fix that allows us to build cleanly for PG15. I have tagged v2.4 that includes Affan's commit plus the work that Shaheed has been doing. Let the testing begin!!

Any updates?

wieck commented
luss commented
luss commented

For this multicorn2 project, pg15 works as good as pg14 does. They both have a performance regression that hasn't been found yet. Pieces of the WHERE clause are not being pushed down in some cases they were in pg12 & pg13 in the original multicorn project.

For this multicorn2 project, pg15 works as good as pg14 does.

Given that, can a release be cut please?

Still While installing on PG15 Multicorn2, We got ERROR: Error in python: ModuleNotFoundError
DETAIL: No module named 'multicorn'
please help me

@luss Not the above error is resolved but a new error is coming:
ERROR: Error in python: AttributeError
DETAIL: module 'multicorn' has no attribute 'get_class'
SQL state: XX000

Try looking in your PG server log. It may contain a stack trace that will be helpful

@luss Not the above error is resolved but a new error is coming:
ERROR: Error in python: AttributeError
DETAIL: module 'multicorn' has no attribute 'get_class'
SQL state: XX000

I've just hit this error too...it appears to be related to some other/bogus package called "multicorn":

$ pip3 show multicorn
Name: multicorn
Version: 0.1.0
Summary: 
Home-page: 
Author: An Long
Author-email: aisk1988@gmail.com
License: MIT
Location: /usr/lib/python3/dist-packages
...

This appears to be some kind of Web server/service, and is obviously clashing with the multicorn we expect.

The proximate cause seems to be that pip ends up using the wrong version of setuptools, and ends up NOT installing "our" multicorn but a package called UNKNOWN:

$ make
$ sudo make install
...
pip3.10 install  .
Processing /home/ubuntu/multicorn2-main
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: UNKNOWN
  Building wheel for UNKNOWN (pyproject.toml) ... done
  Created wheel for UNKNOWN: filename=UNKNOWN-2.4-py3-none-any.whl size=1717 sha256=18dbaf25261e1ec673f579e1a0f239ee2581b7edef17c022cb14c4cdb182e66e
  Stored in directory: /root/.cache/pip/wheels/6d/cc/9b/8258a774060bcaa44b3e00e5b4af15b4946801ab9c7ec58c47
Successfully built UNKNOWN
Installing collected packages: UNKNOWN
  Attempting uninstall: UNKNOWN
    Found existing installation: UNKNOWN 2.4
    Uninstalling UNKNOWN-2.4:
      Successfully uninstalled UNKNOWN-2.4
Successfully installed UNKNOWN-2.4

Then, in my case, another part of the installation containing the actual FDW - which depends on multicorn - ends up installing the other/"bogus" multicorn via pip.

The root cause appears to be pypa/setuptools#3291 and pypa/pip#6264. The real solution is not especially clear, but specifying "--no-build-isolation" during our install seems to sidestep the problem. I will do a bit more testing before proposing that as a fix.

luss commented

Pg15 is supported so I am closing this issue. A specific installation problem in one environment should be opened as a specific siiue.