Comments (4)
The issue here is likely that cloud does not support doing CONFIGURE INSTANCE
on certain configuration settings that directly affect the underlying postgres instance.
We should produce a proper error message, though.
I think it should be easy to workaround by editing init.edgeql
in the dump directory to remove the offending configures
from edgedb.
What configuration values is init.edgeql
trying to set?
from edgedb.
Ahhhhh, it looks like session_idle_transaction_timeout
is always included in DESCRIBE INSTANCE CONFIG
because during bootstrap, we execute CONFIGUREs for any backend settings with default values:
edgedb/edb/server/bootstrap.py
Lines 1761 to 1782 in df39a45
We don't currently have a way to distinguish that from the case where it has been explicitly set.
As a related issue (with a TODO) in that code, we don't have the correct default for session_idle_transaction_timeout
when on a backend (like our cloud) that doesn't support CONFIGURE INSTANCE.
We have code that is supposed to produce a proper error message when doing a backend setting CONFIGURE INSTANCE
, but for some reason it isn't firing in the cloud setting: https://github.com/edgedb/edgedb/blob/master/edb/pgsql/compiler/config.py#L53-L58
I think that for backend params with default values, we are going to need to give up on the distinction between using default
and set to default
, but in the opposite direction than we currently are.
(Another option would be to always store our configs for these things in database metadata potentially alongside as system configs, which we can use to disambiguate these cases. If we want to bother with that, it might be a longer term fix)
Action items here:
- Figure out why the
has_configfile_access
check isn't working - For backend settings with a default value, ignore
CONFIGURE INSTANCE
if it is setting it to the default value and we don't have configfile access. (Or maybe just always.) This will fix restoring from existing dumps - Make
DESCRIBE CONFIG
not include any backend_settings that have their default values - Stop doing
CONFIGURE INSTANCE
at bootstrap and instead configure those settings to the default when connections are created and there is no explicit setting
(Note that the third thing is still necessary even once the fourth is done, because absent other config system overhauls, configuring the settings then will make it seem like they are session configs)
from edgedb.
@msullivan It worked commenting out the first line about timeout in the init file. Then I had to wipe the main branch, but then restore worked as expected including data.
from edgedb.
Related Issues (20)
- Edgedb 5 container generates too many connection errors and was suspended by cloud provider. HOT 1
- Test suite doesn't parallelize as well as it should HOT 1
- Database configure not always properly applying immediately on current connection HOT 2
- Make `Subject Alternative Names` in the self-signed certificate Configurable.
- If multiple triggers update the same object, only one is applied HOT 1
- Optionally indicate that a trigger should run in its own query
- Get rid of `expr` field in schema Type?
- Link property with the same name as a property on the object doesn't work with double splat
- Internal server error when running query HOT 1
- Captcha providers for built-in auth UI HOT 1
- `TransactionSerializationError` in `UPDATE` concurrent queries HOT 10
- Getting authenticated user's data from oauth provider HOT 4
- When adding a constraint to User.awards in cards db: InternalServerError: column old.id does not exist
- `InternalServerError` when trying to coalesce with an existing link property value HOT 2
- Branches with the GitHub and Vercel integrations failing when there's a forward slash HOT 1
- Unable to install HOT 5
- Email+password Provider with BuiltInUI doesn't handle non-existing accounts gracefully HOT 1
- apt repository does not have a Release file for Ubuntu 24.04 LTS HOT 2
- ISE: "subquery in FROM must have an alias" in PG < 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from edgedb.