issue_comments
3 rows where author_association = "OWNER", issue = 679646710, "updated_at" is on date 2020-08-15 and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: created_at (date), updated_at (date)
issue 1
- db.execute_write_fn(create_tables, block=True) hangs a thread if connection fails · 3 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
674451012 | https://github.com/simonw/datasette/issues/935#issuecomment-674451012 | https://api.github.com/repos/simonw/datasette/issues/935 | MDEyOklzc3VlQ29tbWVudDY3NDQ1MTAxMg== | simonw 9599 | 2020-08-15T21:56:13Z | 2020-08-15T21:56:13Z | OWNER | This implementation seems to fix it, need to work out how to test though. ```diff diff --git a/datasette/database.py b/datasette/database.py index ffa7a79..7ba1456 100644 --- a/datasette/database.py +++ b/datasette/database.py @@ -89,14 +89,22 @@ class Database: def _execute_writes(self): # Infinite looping thread that protects the single write connection # to this database - conn = self.connect(write=True) + conn_exception = None + conn = None + try: + conn = self.connect(write=True) + except Exception as e: + conn_exception = e while True: task = self._write_queue.get() - try: - result = task.fn(conn) - except Exception as e: - print(e) - result = e + if conn_exception is not None: + result = conn_exception + else: + try: + result = task.fn(conn) + except Exception as e: + print(e) + result = e task.reply_queue.sync_q.put(result)
``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
db.execute_write_fn(create_tables, block=True) hangs a thread if connection fails 679646710 | |
674450652 | https://github.com/simonw/datasette/issues/935#issuecomment-674450652 | https://api.github.com/repos/simonw/datasette/issues/935 | MDEyOklzc3VlQ29tbWVudDY3NDQ1MDY1Mg== | simonw 9599 | 2020-08-15T21:51:22Z | 2020-08-15T21:51:22Z | OWNER | The easiest way to recreate this is to attempt a write against an immutable database, which triggers this assertion error: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
db.execute_write_fn(create_tables, block=True) hangs a thread if connection fails 679646710 | |
674450607 | https://github.com/simonw/datasette/issues/935#issuecomment-674450607 | https://api.github.com/repos/simonw/datasette/issues/935 | MDEyOklzc3VlQ29tbWVudDY3NDQ1MDYwNw== | simonw 9599 | 2020-08-15T21:50:41Z | 2020-08-15T21:50:41Z | OWNER | The bug is here: If ... server hangs here ... ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
db.execute_write_fn(create_tables, block=True) hangs a thread if connection fails 679646710 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
user 1