Open marcocitus opened 7 years ago
On 2017-07-24 09:55:37 +0000, Marco Slot wrote:
When something goes wrong during shard creation in
create_distributed_table(...)
we always give a message likeERROR: table "new_distributed_table" could not be colocated with search
, even when the problem is unrelated to colocation.postgres=# SELECT create_distributed_table('compressed', 'query_channel'); WARNING: could not open extension control file "/usr/share/postgresql/9.6/extension/cstore_fdw.control": No such file or directory ERROR: table "compressed" could not be colocated with search
In this case, the problem was that cstore_fdw is not installed on the worker, but the error made it seem like a distributed `cstore_fdw` table could not be colocated with a regular distributed table.
We've a fair number of cases where we report worker errors as WARNING, just to afterwards ERROR out. There's a few cases where that's good-ish (e.g. selecting from RF > 1 tables), but in most cases it's bad because it's confusing as here, and because sometimes a lot of unnecessary work for other shareds will be finished. A number of those are because we used to have no error handling infrastructure, but ... I think we should replace most of them w/ error context usage, and straight out errors.
As a related note table "compressed" could not be colocated with search is a very bad error message even when it's "correct". What is search and why do I want my table colocated with it?
Oh, I see now in your example that search is a table name. But shouldn't it be in quotes like the first table name? Having one in quotes and one out of it is confusing in its own right.
@jasonmp85 You are looking into this issue?
@sumedhpathak yes.
Oh, it didn't get assigned to me? Assigning.
When something goes wrong during shard creation in
create_distributed_table(...)
we always give a message likeERROR: table "new_distributed_table" could not be colocated with search
, even when the problem is unrelated to colocation.Example posted on Slack:
In this case, the problem was that cstore_fdw is not installed on the worker, but the error made it seem like a distributed
cstore_fdw
table could not be colocated with a regular distributed table.