storage_sync2: wait_completion() MVP

Commit 1:
 refactor: turn compaction code async

We need this to insert remote_client.wait_completion() calls.
That'll happen in the next commit.

The major wrinkle in this change is Tenant::timeline_delete().
Before this change, Tenant::timeline_delete() does the following:
1 Acquire timelines.lock()
2 get a ref to the timelines map
3 Set it to `TimelineState::Paused`
4 Get Tenant::layer_removal_guard()
  (Internally, this is a Tenant::layer_removal_cs.try_lock().expect())
5 Remove timeline directory and all its files.
6 drop the guard
7 Remove the timeline from the timelines map
8 drop timelines lock (implicit drop)

Couple of odd things about that:

- I think (3) is supposed to lock out any more timeline ops and and
  (4) is supposed to drain any existing timeline ops, namely, GC & Compactions.
  So that (5) can then remove the layer files, knowing that nobody
  references the corresponding Layer structs anymore, except us.
- If that assumption is correct, I think there are several flaws with
  that approach:
  1. The layer_remvoal_guard() is a try_lock() that will panic if we
     can't get it. The caller only shuts down timeline tasks before
     calling us, but GC & Compaction is a per-tenant loop, so, I think
     we could reach the case where the try_lock() fails. In that case,
     timeline_delete() panicks.
  2. The `layer_removal_guard()` only waits for concurrent GC & Compaction.
     Once we have it, we delete the layer files (5).
     We need to be 100% sure that nobody else will be accessing these layer
     files anymore.
     The caller has killed WAL receiver, that's good.
     But the timeline is still reachable via PS HTTP API.
     So, if there's any HTTP op that started before (3), we haven't
     yet waited for it to finish.

This PR doesn't address those problems.
And possible, it makes things worse because layer_removal_cs needs to
become a tokio::sync::Mutex, so that the next commit's
can hold it across the remote_client.wait_completion().await points
that it adds.

So, the solution in delete_timeline() is to drop the timelines.lock()
after setting the `TimelineState::Paused`.
Then do compaction while holding `layer_removal_cs()`.
Then re-aquire timelines.lock() and delete the timeline.

Commit 2:
 add remote_storage.wait_completion() calls to compaction() and gc()

The test_remote_storage.py tests are failing now. Kinda makes sense.
test_remote_storage_upload_queue_retries
test_timeline_deletion_with_files_stuck_in_upload_queue

Need to investigate, but most likely, they do some checkpoints/gc/layer deletions while we artificially fail the upload op.
Not sure how straightforward it is to fix the tests.

In the last run,  test_get_tenant_size_with_multiple_branches in release build failed due to not-allowed error in log:
2022-11-28T16:54:59.969706Z ERROR gc_loop{tenant_id=6062978df26c2e7797747c0e71737d41}: Gc failed, retrying in 2s: timeline is paused: Paused

It's a legitimate error because the test races with 'delete_timeline'.
This is a consequence of no longer failing delete_timeline if GC is still running.
To fix this, we need to remove
cannot lock compaction critical section

from pageserver.allowed_errors and add
Gc failed, retrying in.*timeline is paused: Paused

Alternatively, we could switch back to failing delete_timeline() if GC / Compaction is running.
But seems like lack of priority of delete_timeline over GC / Compaction has been a problem in the past, e.g., https://github.com/neondatabase/neon/issues/2442

Added the following three errors to the global allowed_errors list and linked the follow-up issue
 # Tenant::delete_timeline() can cause any of the three following errors.
 # FIXME: we shouldn't be considering it an error: https://github.com/neondatabase/neon/issues/2946
 "could not flush frozen layer.*queue is in state Stopped",  # when schedule layer upload fails because queued got closed before compaction got killed
 ".*wait for layer upload ops to complete.*",  # .*Caused by:.*wait_completion aborted because upload queue was stopped
 "Gc failed, retrying in.*timeline is paused: Paused",  # When gc/compaction check timeline state after acquiring layer_removal_cs

Hmm, this time the debug build has test failure
test_tenants_attached_after_download

failed with
AssertionError: assert 25927680 == 25960448
  +25927680
  -25960448

The difference between that is exactly 32k.

And we got a release build test failure due to not-allowed error
test_gc_cutoff

2022-11-28T18:02:26.938227Z  INFO handle_pagerequests{tenant_id=8faae982b2428b4bdf8cd2c1b712772e timeline_id=ad8b3cec55b86cfd8f07977ab5ad2a7f}:handle_get_page_at_lsn_request{rel=1663/12972/2663 blkno=2 req_lsn=0/CEE9938}:launch{tenant_id=8faae982b2428b4bdf8cd2c1b712772e pg_version=14}: old temporary datadir /tmp/test_output/test_gc_cutoff/repo/tenants/8faae982b2428b4bdf8cd2c1b712772e/wal-redo-datadir.___temp exists, removing
2022-11-28T18:02:26.943210Z ERROR handle_pagerequests{tenant_id=8faae982b2428b4bdf8cd2c1b712772e timeline_id=ad8b3cec55b86cfd8f07977ab5ad2a7f}: error reading relation or page version: Failed to reconstruct a page image:

Caused by:
    Directory not empty (os error 39)

Stack backtrace:
   0: pageserver::tenant::timeline::Timeline::get::{{closure}}
             at /__w/neon/neon/pageserver/src/tenant/timeline.rs:394:42
      prometheus::histogram::Histogram::observe_closure_duration
             at /github/home/.cargo/registry/src/github.com-1ecc6299db9ec823/prometheus-0.13.2/src/histogram.rs:716:19
   1: pageserver::tenant::timeline::Timeline::get
             at /__w/neon/neon/pageserver/src/tenant/timeline.rs:392:9
   2: pageserver::pgdatadir_mapping::<impl pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn
             at /__w/neon/neon/pageserver/src/pgdatadir_mapping.rs:104:9
   3: pageserver::page_service::PageServerHandler::handle_get_page_at_lsn_request::{{closure}}::{{closure}}
             at /__w/neon/neon/pageserver/src/page_service.rs:610:20
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/future/mod.rs:91:19
   4: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /github/home/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272:9
   5: pageserver::page_service::PageServerHandler::handle_get_page_at_lsn_request::{{closure}}
             at /__w/neon/neon/pageserver/src/page_service.rs:588:5
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/future/mod.rs:91:19
      pageserver::page_service::PageServerHandler::handle_pagerequests::{{closure}}::{{closure}}
             at /__w/neon/neon/pageserver/src/page_service.rs:344:73
   6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/future/mod.rs:91:19
      <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /github/home/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272:9
   7: pageserver::page_service::PageServerHandler::handle_pagerequests::{{closure}}
             at /__w/neon/neon/pageserver/src/page_service.rs:271:5
      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/future/mod.rs:91:19
      <pageserver::page_service::PageServerHandler as utils::postgres_backend_async::Handler>::process_query::{{closure}}

I have no clue about the former, investigating the latter now.

My best hypothesis for the root cause of test_gc_cutoff failure is that we use the exit failpoint action, and then restart the pageserver while the old walredo process is still running.
That causes the fs::remove_dir_all() call during walredo process launch() to fail.
We don't add enough .context() on the way up, so, the cause chain in the log leaves a lot to be desired.
Not our problem in this PR, will kick a re-run.
cc @koivunej @knizhnik  is this a know issue with walredo? If not please convert this analysis into a follow-up issue.

My best hypothesis for the root cause of test_gc_cutoff failure is that we use the exit failpoint action, and then restart the pageserver while the old walredo process is still running.
That causes the fs::remove_dir_all() call during walredo process launch() to fail.
We don't add enough .context() on the way up, so, the cause chain in the log leaves a lot to be desired.
Not our problem in this PR, will kick a re-run.
cc @koivunej @knizhnik is this a know issue with walredo? If not please convert this analysis into a follow-up issue.

Yeah. See https://github.com/neondatabase/neon/issues/2400

My best hypothesis for the root cause of test_gc_cutoff failure is that we use the exit failpoint action, and then restart the pageserver while the old walredo process is still running.
That causes the fs::remove_dir_all() call during walredo process launch() to fail.
We don't add enough .context() on the way up, so, the cause chain in the log leaves a lot to be desired.
Not our problem in this PR, will kick a re-run.
cc @koivunej @knizhnik is this a know issue with walredo? If not please convert this analysis into a follow-up issue.

Yeah. See #2400

Funny, we just talked #2400 with @alexstanovoy earlier today. We were not sure if it's still a problem, but apparently it is :-).

@hlinnaka regarding
AssertionError: assert 25927680 == 25960448
  +25927680
  -25960448

Your change e51f2be3d0d2172421016ece22332c079328e851 added that assertion.
What fails is
    assert detail_before["current_physical_size"] == detail_after["current_physical_size"]

The after value is larger.
So, something is generating more layer files (but only 32k in size?) after the checkpoint loop but before we shut down the page server:
https://github.com/neondatabase/neon/blob/2dad3a64455185dffe23751e3f9864c3c18f47de/test_runner/regress/test_tenants_with_remote_storage.py#L140-L172

AssertionError: assert 25927680 == 25960448
  +25927680
  -25960448

Your change e51f2be added that assertion.
What fails is
    assert detail_before["current_physical_size"] == detail_after["current_physical_size"]

The after value is larger.
So, something is generating more layer files (but only 32k in size?) after the checkpoint loop but before we shut down the page server:

For the record, @problame addressed this in commit https://github.com/neondatabase/neon/pull/2942/commits/718a58484489cc63bfa7026f23e438597a7f00ce.


Able to create multiple/overlapping dialogues

Able to create multiple/overlapping dialogues
Describe the bug
When using Area2d using this code https://pastebin.com/gpG80pzq. You'll be able to create an infinite amount of dialogue options.
To Reproduce
Steps to reproduce the behavior:

Create Area2d
Use this code: https://pastebin.com/gpG80pzq
Use key on Area2d
Spam it and infinite dialogue boxes

Expected behavior
Only one dialogue should appear
Screenshots
https://user-images.githubusercontent.com/84057424/117913188-eb7fb180-b2ae-11eb-9542-d2134152c46e.mp4
System (please complete the following information):

OS: Windows
Godot Version: 3.3
Dialogic Version: 1.1

Solutions
Workaround
Not known.
Possible fixes
**IT MAY BE HOW AREA2D WORKS, I AM NOT SURE. IF THERE IS A BETTER WAY TO CODE THIS PLEASE TELL LET ME KNOW. THIS ALSO SEEMS TO BE A SAME ISSUE WITH MOUSE CLICKS TOO https://pastebin.com/jhfp4CP8

You need to check if a dialog exists already. I'm closing the issue because this is not Dialogic related, this is how Godot works. You should try to follow other tutorials and learn how the node system works and you should be able to fix this one really easily.


queue() - supports pausing with concurrency

This test is flakey and occasionally fails.

This should be fixed once everything is brought up to date with async.


Viz thumbnails

This PR adds support for using an image in the visualizations grid view. It takes advantage of changes introduced in https://github.com/VEuPathDB/web-components/pull/201.
Overview

Added browserify loader to webpack config
Updated AnalysisState to be more immutable-friendly
Fixed some minor type issues
Added thumbnail property to Visualization
Removed gridComponent from VisualizationType and replaced with thumbnail in overview

Remaining TODOs

[x] Delete thumbnails if subset changes
[ ] Determine default image
[ ] Document webpack config needs

depends on https://github.com/VEuPathDB/web-components/pull/201
fixes #272

@dmfalke For your information, I have tested plot vizs and they mostly worked great! 👍 I found a bug at Scatter plot viz: it worked fine for the default Raw plot, but either Smoothed mean or Best fit line threw an error (Error compiling fragment shader). However, your recent commit resolved this bug so no error concerning thumbnails found yet 😄

This s ready for review. There are a couple of remaining TODOs, which I will address before merging.

For the default image (when the client hasn't generated one yet), I was thinking we could use a grayscale version of the selector icon with the text Preview not available overlaid. Thoughts?

For the default image (when the client hasn't generated one yet), I was thinking we could use a grayscale version of the selector icon with the text Preview not available overlaid. Thoughts?
ETA: This will happen when the subset changes.

Makes sense to me!

@bobular I've applied your suggestions. Thanks!


GH-43536: [Python][CI] Add a Crossbow job with the free-threaded build

Rationale for this change
Testing with the free-threaded build is required for adding support for it. (see #43536)
What changes are included in this PR?

Add a Docker build with the CPython free-threaded build from deadsnakes.
Add a Crossbow job to run said Docker build with Python 3.13t

Are there any user-facing changes?
No.

GitHub Issue: #43536

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

Hmm, we got much further this time. Build was successful, but tests failed on import with this error:
+ pytest -r s --pyargs pyarrow
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError
============================= test session starts ==============================
platform linux -- Python 3.13.0rc1, pytest-8.3.2, pluggy-1.5.0
rootdir: /
plugins: hypothesis-6.111.0
collected 0 items / 1 error

==================================== ERRORS ====================================
_______ ERROR collecting arrow-dev/lib/python3.13t/site-packages/pyarrow _______
usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
<frozen importlib._bootstrap>:1310: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:488: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:935: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:1022: in exec_module
    ???
<frozen importlib._bootstrap>:488: in _call_with_frames_removed
    ???
arrow-dev/lib/python3.13t/site-packages/pyarrow/__init__.py:65: in <module>
    import pyarrow.lib as _lib
E   ImportError: Module was compiled with a non-freethreading build of Python but imported into a freethreading build.

That's odd, since the wheel seems to have been compiled with the free-threaded build (notice the "t" in "cp313t"):
Created wheel for pyarrow: filename=pyarrow-18.0.0.dev139-cp313-cp313t-linux_x86_64.whl size=28707111 sha256=13191763e70d010111830b51e95c8a71d582531bb471faa365d00d3daaef330f
  Stored in directory: /tmp/pip-ephem-wheel-cache-h1qj9ap8/wheels/4d/35/fe/ddc412558b8012a6576905791192edd07e7e3d9c86e74f006c
Successfully built pyarrow
Installing collected packages: pyarrow

Successfully installed pyarrow-18.0.0.dev139

Isn't that failure expected until https://github.com/apache/arrow/pull/43606 is merged?

Isn't that failure expected until #43606 is merged?

No, I don't think so. The only side-effect of not having -Xfreethreading_compatible is that the GIL is re-enabled. The error here actually says that the C extension modules were built using a non-free-threaded build, which I don't think is the case.

We do pass -DPYTHON_EXECUTABLE=/arrow-dev/bin/python3 to cmake when building pyarrow. Does the executable binary change when having a free-threaded python? (it's not that this should be python3t or so?)

Since the virtual environment is created using python3.13t, the python and python3 symlinks both point to the free-threaded build.

It looks like this come from Cython. I'll have a deeper look.

Could you create a new issue for this?
See also: https://github.com/apache/arrow/issues/43536#issuecomment-2287412282

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

Yeah, like @jorisvandenbossche said, I can't trigger CI jobs even though I have a commit in now. Could someone else please do that?

@pitrou Could you maybe trigger the new CI job?

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

The fact that this was passing made me realize that the tests enable the GIL, because cffi is being imported (see https://github.com/ursacomputing/crossbow/actions/runs/10405198547/job/28815414020#step:7:7070). The tests now expectedly fail with a segfault. I'm working on figuring what's happening there, but that'll probably be in a couple of weeks, when I'm back from vacation.

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

The fact that this was passing made me realize that the tests enable the GIL, because cffi is being imported. The tests now expectedly fail with a segfault.

On CI, the tests seem to be passing (and I verified that the warning about "The global interpreter lock (GIL) has been enabled to load module '_cffi_backend'" is gone)

This can be merged IMO. I got one segfault that was happening in test_cffi, but I cannot reliably reproduce any more even after running the tests with pytest-repeat and --count=100.

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions crossbow submit -g python -g wheel

Ping.

@github-actions crossbow submit -g wheel

@github-actions crossbow submit -g python

FWIW, the minimal-build example builds are failing (I had restarted one, and it's still failing), while I haven't seen that in the nightlies, but I also don't directly see how this PR would be causing that (can take a closer look tomorrow)
(can see if it's still failing after the rebase)

FWIW, the minimal-build example builds are failing (I had restarted one, and it's still failing), while I haven't seen that in the nightlies, but I also don't directly see how this PR would be causing that (can take a closer look tomorrow)

Yes, it's unrelated. The problem is that the fork from which the PR is submitted doesn't have any git tags:
https://github.com/ursacomputing/crossbow/actions/runs/10774498455/job/29876694202#step:3:3401

@lysnikolaou I'm surprised, PyArrow is marked nogil-compatible?

@lysnikolaou I'm surprised, PyArrow is marked nogil-compatible?

Yes, this was done in https://github.com/apache/arrow/pull/43606.

But did we actually audit the code to make sure nothing relies on the GIL? Otherwise we're just asking for trouble.

But did we actually audit the code to make sure nothing relies on the GIL? Otherwise we're just asking for trouble.

Since a big chuck of PyArrow relies on Cython, that means that a lot of the free-threading heavy-lifting will be performed by Cython.
Regarding the C/C++ code, I had a look around the codebase, trying to manually search for global state, but I didn't find any instances that might create problems. I also talked a bit with @jorisvandenbossche about that during a call, and adding threading-related tests was something he wanted to do as well.
As a note, being agressive with declaring support for free-threading is probably the way to go, since bugs will always be there, and they will be much harder to surface if widely-used packages do no declare support. Remember that the GIL is enabled for the whole process, even if just one package hasn't declared support.

Regarding the C/C++ code, I had a look around the codebase, trying to manually search for global state, but I didn't find any instances that might create problems.

Besides explicitly global state, there may also be cases of relying on the GIL to ensure that e.g. a Python dict/list isn't mutated, or a borrowed reference remains valid.

As a note, being agressive with declaring support for free-threading is probably the way to go, since bugs will always be there, and they will be much harder to surface if widely-used packages do not declare support.

That is true.

there may also be cases of relying on the GIL to ensure that e.g. a Python dict/list isn't mutated

If you could point me to such instances, that'd be really helpful, and I can work on fixing all of those.

or a borrowed reference remains valid

We got rid of borrowed references APIs in #43540.

If you could point me to such instances, that'd be really helpful, and I can work on fixing all of those.

One example is VisitSequenceGeneric (https://github.com/apache/arrow/blob/cd50c324882ab1419d1728e9adad20d47b185508/python/pyarrow/src/arrow/python/iterators.h#L69-L86), where the sequence's length is assumed to be constant, and where we use the borrowed ref returned by PySequence_Fast_GET_ITEM. Solving this one efficiently will be tricky, as CPython doesn't provide any APIs for fast and safe GIL-less access to sequences.
A similar issue lies in https://github.com/apache/arrow/blob/cd50c324882ab1419d1728e9adad20d47b185508/python/pyarrow/src/arrow/python/iterators.h#L54-L61
I haven't looked in other places.

Thank for this! I'll have a look.

Let's just let CI run a last time and merge if no further issue surfaces.


Dashboard scroll not activated in case of split up/down view

[Inside build testing]
Steps to Reproduce:

Open Dashboard
View --> Editor Layout --> Split Up/Down
Dashboard content is clipped.
Expected : Dashboard scrollbar should be activated

This appears to be fixed in the current build.  Please let us know if you're still impacted by this issue.


Added The Newco userId module - TNCID documentation

🏷 Type of documentation

[ ] new bid adapter
[ ] update bid adapter
[ ] new feature
[ x] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[ ] Related pull requests in prebid.js or server are linked -> Paste link in this list or reference it on the PR itself
[ ] For new adapters check submitting your adapter docs

Hi,
There is still label "need work", is there something else blocking the merge?
Thank you!


Very slow restore after significant uptime.

Describe the bug
Packages restore taking ~5 minutes instead of a few seconds.
Expected behavior
No lag.
Screenshots
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
      Failed executing DbCommand (0ms) [Parameters=[@p1='?', @p0='?', @p2='?'], CommandType='Text', CommandTimeout='30']
      UPDATE "Packages" SET "Downloads" = @p0
      WHERE "Key" = @p1 AND "RowVersion" IS NULL;
      SELECT "RowVersion"
      FROM "Packages"
      WHERE changes() = 1 AND "Key" = @p1;
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'BaGet.Database.Sqlite.SqliteContext'.
      Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
       ---> System.OperationCanceledException: The operation was canceled.
         at System.Threading.CancellationToken.ThrowOperationCanceledException()
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
 ---> System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
      Failed executing DbCommand (0ms) [Parameters=[@p1='?', @p0='?', @p2='?'], CommandType='Text', CommandTimeout='30']
      UPDATE "Packages" SET "Downloads" = @p0
      WHERE "Key" = @p1 AND "RowVersion" IS NULL;
      SELECT "RowVersion"
      FROM "Packages"
      WHERE changes() = 1 AND "Key" = @p1;
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'BaGet.Database.Sqlite.SqliteContext'.
      Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
       ---> System.OperationCanceledException: The operation was canceled.
         at System.Threading.CancellationToken.ThrowOperationCanceledException()
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
 ---> System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
      An error occurred using the connection to database 'main' on server '/var/baget/baget.db'.
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
      An error occurred using the connection to database 'main' on server '/var/baget/baget.db'.
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransactionAsync(CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
      Failed executing DbCommand (0ms) [Parameters=[@p1='?', @p0='?', @p2='?'], CommandType='Text', CommandTimeout='30']
      UPDATE "Packages" SET "Downloads" = @p0
      WHERE "Key" = @p1 AND "RowVersion" IS NULL;
      SELECT "RowVersion"
      FROM "Packages"
      WHERE changes() = 1 AND "Key" = @p1;
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'BaGet.Database.Sqlite.SqliteContext'.
      Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
       ---> System.OperationCanceledException: The operation was canceled.
         at System.Threading.CancellationToken.ThrowOperationCanceledException()
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
 ---> System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled
fail: Microsoft.EntityFrameworkCore.Query[10100]
      An exception occurred while iterating over the results of a query for context type 'BaGet.Database.Sqlite.SqliteContext'.
      System.Threading.Tasks.TaskCanceledException: A task was canceled.
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
warn: BaGet.Hosting.OperationCancelledMiddleware[0]
      Request cancelled

Additional context
It looks like after some uptime like 1 month, the server starts to respond slowly. I saw that also when there are multiple ~10 parallel builds.

Hm these logs are interesting:
    UPDATE "Packages" SET "Downloads" = @p0
      WHERE "Key" = @p1 AND "RowVersion" IS NULL;
      SELECT "RowVersion"
      FROM "Packages"
      WHERE changes() = 1 AND "Key" = @p1;

This indicates incrementing the package's downloads count (here) is slow. Do you have many packages in your database? Can you reproduce this issue easily? Does it happen again if you restart your server?
We will likely need more information to debug this. Have you tried using a profiler on BaGet? Have you tried doing a memory dump? Is it using abnormal CPU or memory?

@loic-sharma

Do you have many packages in your database?

Not much, look at the listing below.

Can you reproduce this issue easily?

Yes at the moment is happening on almost every restore.

Does it happen again if you restart your server?

Restart does not help.

We will likely need more information to debug this. Have you tried using a profiler on BaGet?

Don't know how to do that.

Have you tried doing a memory dump?

Don't know how to do that.

Is it using abnormal CPU or memory?

CPU 0%, memory not suspicious.
root@nuget:/var/baget/packages# ls -al
total 52
drwxr-xr-x   4 root root  4096 Mar 20  2020 .
drwxr-xr-x   3 root root  4096 Nov 14 19:42 ..
drwxr-xr-x 516 root root 36864 Oct 28 14:12 packages
drwxr-xr-x  15 root root  4096 Oct 28 14:12 symbols
root@nuget:/var/baget/packages# ls -al packages/ | wc -l
517
root@nuget:/var/baget/packages# ls -al packages/* | wc -l
11567
root@nuget:/var/baget/packages# ls -al symbols/ | wc -l
16
root@nuget:/var/baget/packages# ls -al symbols/* | wc -l
5473

Let me know how to proceed with that, but I think it makes sense to migrate on our side to some normal database like SQL Server before investing any more time into researching this issue. There is any way to migrate?

Looks good after the migration to Sql server.
Sent from my iPhone

On 12 Nov 2020, at 06:15, Loïc Sharma<EMAIL_ADDRESS>wrote:

Hm these logs are interesting:
UPDATE "Packages" SET "Downloads" = @p0
  WHERE "Key" = @p1 AND "RowVersion" IS NULL;
  SELECT "RowVersion"
  FROM "Packages"
  WHERE changes() = 1 AND "Key" = @p1;

This indicates incrementing the package's downloads count (here) is slow. Do you have many packages in your database? Can you reproduce this issue easily? Does it happen again if you restart your server?
We will likely need more information to debug this. Have you tried using a profiler on BaGet? Have you tried doing a memory dump? Is it using abnormal CPU or memory?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

FYI, I am seeing exactly this issue using PostgreSQL backend (server v11) also triggered by many parallel build after running for a month or two.
Light loads, using baget as ci mirror only to reduce traffic.
The postgres server logs mention too many client connections.
Currently looking into connection string pooling settings to see if that can help, otherwise interweb's suggest missing connection cleanup/disposal, will look into your codebase if pooling doesn't help.

FYI, I am seeing exactly this issue using PostgreSQL backend (server v11) also triggered by many parallel build after running for a month or two.
Light loads, using baget as ci mirror only to reduce traffic.
The postgres server logs mention too many client connections.
Currently looking into connection string pooling settings to see if that can help, otherwise interweb's suggest missing connection cleanup/disposal, will look into your codebase if pooling doesn't help.

Connection pooling in the connection string solved it for me

Connection pooling in the connection string solved it for me

Interesting as I have same issue on the Sql server backed.
Sent from my iPhone

On 30 Jan 2021, at 17:10, Jeff<EMAIL_ADDRESS>wrote:

Connection pooling in the connection string solved it for me
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Interesting as I have same issue on the Sql server backed.
Sent from my iPhone

On 30 Jan 2021, at 17:10, Jeff<EMAIL_ADDRESS>wrote:

Connection pooling in the connection string solved it for me
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Feature Request - show the state of PVC in the volumes section

Feature Request
It is not easy to tell if a PVC is used by any pod and the name of the pod. Users can use kubectl describe pvc to get this info but it is not handy.
We should add this kind of information to the volume section under the project.

Added in https://github.com/rancher/rancher/issues/22745


Request Enhanced Documentation for Enterprise Guidance

Category

[X] Question

Request to add more current information and guidance to the Enterprise Guidance documentation: https://dev.office.com/sharepoint/docs/spfx/enterprise-guidance

What are the up-time SLAs and % for SPFx itself and solutions built on top of it in Office 365?
What are the current ALM guidelines and recommended procedures for SPFx not future roadmap ones?
How does the ALM guidance differ between o365, hybrid, and on-prem?
Is there specific considerations and guidance for running SPFx solutions at a large scale?

Thank you for your question. I will let @VesaJuvonen  to comment on the documentation update. in regards of your questions above:

Microsoft is committed to be compliant with the O365 SLA (https://technet.microsoft.com/en-us/library/office-365-service-level-agreement.aspx) for the applications (e.g. Pages or List and libraries, etc.) that contain the SPFx components, but not on the custom code. That is responsibility of the 3rd party developer

We are working on better ALM capabilities that will also impact our guidelines and documentation. In regards of the current capabilities, what is documented in the article you pointed out is what we have today ( @VesaJuvonen  to please comment on this one)

as we don't have hybrid and onPrem support (yet) this question currently doesn't apply.

I would say.. it depends on what the solution does. if the solution requires a Web API or an engine in the back there are scaling considerations to keep in mind. Being able to contact and upgrade the solution properly is also something that needs to be taken in consideration as we don't currently provide a marketplace story .


Using ignore placeholder nil in &rest

Hi,
with the changes from https://github.com/gwkkwg/metabang-bind/issues/9 something like
(bind (((a &rest nil) '(1 2 3))) (print a))

no longer works. Was this by accident and could be fixed or should _ be used instead of nil?

My apologies, but I'm not doing Lisp development at the moment -- or anytime in the near future for that matter. If you'd like to take over the project, let me know.

Ok, thx for your feedback. If I find some time, I'll start by looking into this specific issue.


🚀 Feature: Add pseudo-tests for timing of before()/after() hooks

Prerequisites

[x] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label

Related issues/proposals:
#419
#700
cybertk/abao#203
Description
Breakdown of test timing should add setup/teardown pseudo-tests to help give better individual test timings. Timing of before() functions would be added to the "setup" pseudo-test, and after() functions to the "teardown" pseudo-test of each describe().
Timing of beforeEach()/afterEach() would remain with each it().
Reporters would display these as two additional tests named "setup" and "teardown", assuming they exceeded some threshold.
Rationale
When using Mocha tests to perform RESTful interface testing against a resource, timing of a database setup routine in a before() would be added to the first test -- making its performance look terrible. When running API tests, the timing of the routine can be almost as important as it passing.

I think it will be better to provide a way to access the timing API or a "pseudo it" that will record the timing. Currently, I have a test file like this:
describe("test cases", () => {
  for (const case of cases) {
    it(case.name, () => {
      const input = fs.readFileSync(case.inputFile);
      const output = doSomething(input);
      const expectedOutput = fs.readFileSync(case.outputFile);
      assert.equal(output, expectedOutput);
    });
  }
});

The problem is that setup, assert, and teardown phases are all counted in the timing. What I really care is the calculation time i.e. doSomething(input). Currently, I can use a workaround like:
describe("test cases", () => {
  for (const case of cases) {
    describe(case.name, () => {
      let input, expectedOutput;
      before(() => {
        input = fs.readFileSync(case.inputFile);
        expectedOutput = fs.readFileSync(case.outputFile);
      });
      it("run", () => {
        const output = doSomething(input);
        assert.equal(output, expectedOutput);
      });
    });
  }
});

With a timing API, we can simplify this to:
describe("test cases", () => {
  for (const case of cases) {
    it(case.name, function () {
      const input = fs.readFileSync(case.inputFile);
      const expectedOutput = fs.readFileSync(case.outputFile);

      this.timeStart();
      const output = doSomething(input);
      this.timeEnd();

      assert.equal(output, expectedOutput);
    });
  }
});

Or, with a "pseudo it":
describe("test cases", () => {
  for (const case of cases) {
    it(case.name, function () {
      const input = fs.readFileSync(case.inputFile);
      const expectedOutput = fs.readFileSync(case.outputFile);
      let output;

      timeMe(() => {
        output = doSomething(input);
      });

      assert.equal(output, expectedOutput);
    });
  }
});

The API should accept an optional label in case that the user want to record multiple time-span e.g. setup time:
this.timeStart("setup");
// ...
this.timeEnd("setup");
this.timeStart();
// ...
this.timeEnd();

// or

timeMe("setup", () => {...});
timeMe(() => {...});

The concept was to add the timing information for each test to the stats object automatically; there is no API.

This issue has had exactly two people interact with it since it was filed in 2019. That's less than one every two years. Per #5027, we're trying to stay away from changes that don't have broad appeal. Closing as wontfix.
But, if anybody thinks I'm wrong here, please do file a new issue with one of our new issue templates. They'll prompt for the supporting info that would help us triage this higher.
Cheers, all!


add aws_ip_type

allow setting aws_ip_type for usage with private ip’s within a VPC

Thanks for the PR. Would you mind bumping version number to 1.5?

No problem! Updated docs as well.


Validation of RecurringTask

I searched but I couldn't find any similar request. I was wondering if it would make sense to add an option to raise an error if any recurring task is invalid?
From what I see, invalid recurring tasks are silently ignored here: https://github.com/rails/solid_queue/blob/c521c6d47d10abeaf076a81d9af29e80eb2b11c7/lib/solid_queue/configuration.rb#L100-L104 But it is easy to add a task with a typo and it would go into production and be discarded silently (someone can always check that the records were created but that's a bit time consuming).
I would be up to prepare a PR but wanted to check that this is something SolidQueue team wants.
PS: While writing this, I also thought if having a rake task could be interesting, to make it part of the deployment process for example.

Hey @cedricpim, there's already an issue for this: https://github.com/rails/solid_queue/issues/414 and a PR was submitted yesterday: https://github.com/rails/solid_queue/pull/427. I just haven't had time to review yet. I'm closing this one in favour of #414.


Horizontal viewport was given unbounded height

I am trying to use Marquee in row, but its giving me above error. Below is my function, i tried adding Expanded around but still it throws exception.
Widget listCardView(index){
    return Container(
      margin: EdgeInsets.only(bottom: 10),
      child: Column(
        children: <Widget>[
          Container(
            height: 200,
            decoration: BoxDecoration(
              image: DecorationImage(
                image: NetworkImage(ytResult[index].thumbnail['high']['url']),
                fit: BoxFit.fill,
              ),
          ),
          ),
          Container(
            margin: EdgeInsets.only(left: 10, top: 10, bottom: 10),
            child: Row(
              children: <Widget> [

                Column(
                  children: <Widget>[
                    Container(
                      height: 35,
                      // child: CircleAvatar(backgroundImage: ytResult[index].thumbnail['default']['url'],),
                    ),
                    Container()
                  ],
                ),
                Container(
                  margin: EdgeInsets.only(left: 10),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: <Widget>[
                      Expanded(child: Marquee(text: ytResult[index].title, style: TextStyle(fontSize:18.0),)
                      ),
                      // Text(ytResult[index].title, style: TextStyle(fontSize:18.0),),
                      Container(
                        child: Row(
                          children: <Widget>[
                            Text(ytResult[index].channelId, style: TextStyle(fontSize:10.0),),
                            Text(" ∙ ", style: TextStyle(fontSize:18.0),),
                            // Text(video.getViewCount() + " views", style: TextStyle(fontSize:18.0),),
                            // Text(" ∙ ", style: videoInfoStyle,),
                            Text(ytResult[index].publishedAt + " ago", style: TextStyle(fontSize:10.0),),
                          ],
                        ),
                      )
                    ],
                  ),
                )
              ]
            ),
          )
        ],
      ),
    );
  }`
```

It's true that the Expanded will try to be as high as possible inside the inner Column, but there's an outer Column, which gives the inner Column an unbounded height of double.infinity. If you wrap the outer Column's second child also in Expanded, this should work.

@akshayru Did this solve your issue?

Not the OP, but it kind of did for me! The spacing is a little messed up now, but the marquee stuff works well. Thanks.

Thanks, @marcelgarus it did worked for me. Appreciate your help and clean code tips :)


use req.get('host') to replace req.hostname , so that the port information can be preserved

https://github.com/RisingStack/opentracing-auto/blob/4c0017337829865cd06014889b9617261f51d2b8/src/instrumentation/express.js#L25

Thanks landed as 1.5.1 by https://github.com/RisingStack/opentracing-auto/commit/1b79ac35b44e82b7ce29f53e110db1b138e79d2a


Update sso-saml.rst

Added miniOrange as custom IDP

Summary

Ticket Link

Hello @urvesh20,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

Thanks, @urvesh20! We appreciate your contribution. :) When you have a moment, please sign the CLA and I can merge this PR. :)

/check-cla

/check-cla

Gentle reminder on this, @urvesh20. We can merge your PR once you've signed the CLA.

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

Hi @urvesh20! If you have a moment to sign the CLA we can go ahead and merge this PR. :)

@justinegeffen Hi, I have signed the Mattermost CLA. Please merge the PR. Thanks, Urvesh


Modular pkg and tests

This PR adds modularity wrt authentication method to the PKG. It is implemented as follows:

The authentication middleware wraps the key service and it responsible for

authenticating a user,
extracting (validated) credentials/attributes,
deriving an identity (<K as IBKEM>::Id) for a scheme.
The middleware adds the identity to the request-local extensions. The key service extracts the key and adds it the the response-local extensions after which the middleware is responsible for creating the response. This way a key cannot end up in a response "by accident".

This PR also includes testing middleware that receives an IRMA policy and performs no authentication. This way, some PKG endpoints can be tested without testing the IRMA part of the process. Some basic tests and a full round of encapsulation using the keys obtained via the API are included.
This PR does make breaking changes to the API, specifically, the endpoints that are used for IRMA authentication are now prefixed with /irma.

Checks do not all succeed because I changed the them to a matrix strategy, but they are the same tests.
PKG API should now also be fully backwards compatible with older clients.


Merge US07-PopulateMedicineTable

Coverage remained the same at 94.613% when pulling 84093a9ea9d25afe74cde4e8dafec70990864f49 on devel into 63acb6cb923249a9479b4980f87a2997250db5a3 on master.


fix: generation of dynamic member function calls with memoization + propagating of impurity information across chained calls

Closes #1012
closes #1013
Summary of Changes

fix generation of dynamic member function calls with memoization
fix propagating of impurity information across chained calls
added a lot of tests to verify

The new memoized_dynamic_call is introduced + memoized_static_call is used for global and static functions.
Calculating global / static function keys directly in the runner would be a larger refactor and is not implemented here.
As there is no dynamic dispatch / inheritance for global / static functions, this is not (as) important.
As a drive-by-fix, python calls on class members are now properly memoized, including the instance the python call was declared on.
The code is also refactored to be a bit simpler, as the memoized_dynamic_call function defers some of the responsibility to the runner.

:tada: This PR is included in version 0.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.11.0
GitHub release

Your semantic-release bot :package::rocket:


Broken translations

Caught by #25635
And there are others: #25291
Admin/owner could fix them manually on Crowdin side.
========
WARNING: found broken locale: options/locale/locale_si-LK.ini , [repo] issues.filter_label_exclude
	str: Labels` ඉවත් කිරීමට alt + ක්ලික් කරන්න/ඇතුළු කරන්න

These are wrong in 1.20, which needs to be fixed manually during backporting.

----
WARNING: skip broken locale: options/locale/locale_pt-PT.ini , [repo] editor.filename_is_a_directory
	old: Nome_do_ficheiro "
	new: O nome de ficheiro "%s" já está a ser usado como um nome de pasta neste repositório.
----
WARNING: skip broken locale: options/locale/locale_ja-JP.ini , [action] rename_repo
	old: がリポジトリ名を %[1]s から [3]s へ変更しました
	new: がリポジトリ名を %[1]s から %[3]s へ変更しました

Updated https://crowdin.com/translate/gitea/68/enus-silk?filter=basic&value=0#q=filter_label_exclude

I will fix others after " Backport locale for 1.20 #25635 " gets merged

@wxiaoguang merged ;)

Some changes on Crowdin will be in main branch next day, so I will continue when I wake up tomorrow 🤣

->  Manuall backport of locale for 1.20 (2nd) #25668

Is this resolved?

This one is resolved, but there are new problems.
For example: the "package guideline" is broken .......

This one is resolved, but there are new problems.
For example: the "package guideline" is broken .......

Fixed all of them on crowdin.

Unfornately, not "all" ....
There are still a lot (for every package). eg:
 # en-US
conda.documentation = For more information on the Conda registry, see the documentation.

# fr-FR (and many lanauges)
conda.documentation=Pour plus d'informations sur le registre Conda, voir la documentation.

Remove broken translations #25737


Update text for the "Giving Section" on the homepage

We would like to update the text in the "Giving" section of the OCW homepage.
Old text:
MIT OpenCourseWare is supported through the generosity of people like you, who believe that unlocking knowledge can empower minds.
New text:
Learn more about how you can help MIT OpenCourseWare share knowledge with the world.
Noting the new text contains a hyper link to the "why give" page.
Designs and Mockups

Acceptance Criteria:

[ ] Text should be changes.
[ ] A hyperlink to the "why give" page should be in place.

The image attached above in Designs and Mockups does not have this Give Now heading:

Do we have to keep it or remove it?


[Snyk] Fix for 4 vulnerabilities

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
yarn.lock

Note for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.
Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

696/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 7.5
Regular Expression Denial of Service (ReDoS) SNYK-JS-ANSIREGEX-1583908
Yes
Proof of Concept

676/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 7.1
Cross-site Request Forgery (CSRF) SNYK-JS-AXIOS-6032459
No
Proof of Concept

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-AXIOS-6124857
No
Proof of Concept

631/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 6.2
Missing Release of Resource after Effective Lifetime SNYK-JS-INFLIGHT-6095116
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)
🦉 Cross-site Request Forgery (CSRF)

👷 Deploy Preview for effortless-cendol-07821c processing.

Name
Link

🔨 Latest commit
ad58015e902d5b0f9a8092be47a0c0ee7ee38f4a

🔍 Latest deploy log
https://app.netlify.com/sites/effortless-cendol-07821c/deploys/658c6372386550000854b77e


Lint suggestions

Right now the linter only has one possible autofix. I saw that ESLint added suggestions which allows for multiple possible fixes.
This is something that we will probably want to add to Rome. This issue tracks the implementation if we decide to add it.

Suggestions also might be used when the fix is unsafe. For example, since == cannot be replaced without strong heuristics, the fix could be a single suggestion.
Another approach might be to tag some fixes as unsafe and apply them only if a flag is provided. Not sure if it’s a good idea though. Definitely not if suggestions are implemented...


Language selection overlaps with "Connecting..." banner on Welcome onboarding screen

Frequency: 100%
Repro App version: Android Celo internal build 1.9.1, IOS Test flight Celo integration build v1.9.1 (41)
Repro on device: Samsung Galaxy A5 (7.0, iPhone 6 (12.4.7),iPhone 11(14.0)
Precondition: Make sure connecting banner should shown on walk-through screen
Repro Steps:

Launch the fresh installed Application
Select English language from Select Language screen
Tap on English text top right corner and change language to Espanol
Make sure user will be redirected back to “Send and receive money instantly” walk-through screen
Observe

Current Behavior: “Espanol..” text overlapped with the “Connecting…” banner
Expected Behavior: Text should be displayed without overlapping
Attachment: SelectlanguageTextOverlappingIssue.png

Hi @MuckT @aleksey-nov we have verified this issue on latest builds Android internal build V1.16.1 & Testflight build V1.16.1(67) and observe the followings.

“Espanol..” text overlapped with the “Connecting…” banner when user as bad connection
"Portuges.. " text overlapped with the “Connecting…” banner when user as bad connection

Devices: iPhone 6+ (12.4.5). iPhone SE  (14.6), Vivo v11 pro (10), Google pixel 4a (11), Samsung Galaxy S4(4)

@ValoraQA this should be resolved by #913.


Spam protection

Currently no spam protection on forms.
Add captcha v3 to protect them and not burden the user.
Originally posted by @bbronzan in https://github.com/StatCan/StatCan.OrchardCore/issues/21#issuecomment-632895567

I'll throw two other options in here:

Anti-spam filter
Limit feedback to users who have signed in

See existing: https://docs.orchardcore.net/en/dev/docs/reference/modules/ReCaptcha/

Yeah, we wanted to implement captcha v3. I guess we could make a contribution to oc

Suggest doing this as a contribution to OC.


Investigate: Generated materialized view seems to not have nested subqueries, gen mview with nesting.

This is just because CROSS JOIN is not generated to avoid stream nested loop join.


Fix badges in README

Some pull requests were merged which still contained the author's repository's links in the README.
Converted them into the project's URL or relative URL based on the link.
Updated GH action build badge URLs.

Fixed in b9dd54c76803d7038e77bb0e3027166706e5e5ea.
Thanks!

@scorphus take a look at it now.

Good catch! Thanks!


Allow a developer to set custom VM Args?

Environment

OS: RHEL 7
Erlang/OTP: 19.2
EMQ: 2.2

Description
Is there any way to add custom vm args? In my other erlang applications, i use a custom rebar3 and app.args file and can declare the setting necessary for distributed erlang:
-proto_dist inet_tls
-ssl_dist_opt server_certfile /home/user/certs/server.crt ....
In emqttd, you use a .conf file and somehow generate a .args file. In the conf file, there does not seem to be any way to set these options: ## Specify the erlang distributed protocol.

Value: Enum
- inet_tcp: the default; handles TCP streams with IPv4 addressing.
- inet6_tcp: handles TCP with IPv6 addressing.

vm.args: -proto_dist inet_tcp
An issue with this is that if you have nodes at multiple data centers and want to cluster/bridge them, all of your communications are insecure and can not only be read but be faked manipulated and cause a plethora of problems because rpcs have no security.
How can a user specify their own VM Args?

@emqplus , is there any way that I can accomplish this? How would you go about it?
Thanks

@PiedPieper The issue has been fixed in develop branch. More information at PR  #1504 and PR https://github.com/emqtt/emq-docs-en/pull/41.

@PiedPieper  Fixed in 2.3.6 release.


support es6

support ES6 ! It will be amazing!

+1
Since node 6 is released, node will support 93% off es6 features.
Currently I'm running node 4 using babeljs transpile.
However for the analysis I do not want to analyze my transpiled files. I want to analyze the original es6 source files.

Ref.: https://github.com/es-analysis/plato/pull/153

I know this is an old thread but do we have any progress on this ? Thanks

@abhipanda this project is unmaintained. There is a V2 nearly complete on a branch with es6 support but I don't want to push it past the finish line because I will immediately not be able to maintain it and don't want to rekindle interest without being able to follow up on it.
If someone wants to take over maintenance I will gladly ramp them up on it new version.

supported by @devcrust in 1.6.0


Implement bi-directionality

Edit:

[x] Implement bi-directionality by applying Mamba module twice: (1) to the forward sequence and (2) to the backward sequence.
[x] Implement ~3~ 2 strategies for combining forward / backward Mamba hidden states:

add: Add the states.
~concat: Concatenate the states. This doubles the hidden dimension,d_model, which also prevents weight tying between embedding and lm_head weights.~
ew_multiply: perform element-wise multiplication between the states.

What if the sequences have paddings? E.g.
Input is
[1 2 3 0 0 0]
So flipped input would be
[0 0 0 3 2 1].
Shouldn't it be
[3 2 1 0 0 0]?

@sentialx , agreed. That's a good catch.

how the speed compares to uni-directional?

how the speed compares to uni-directional?

It's about 2x

@yair-schiff I am just curious, did you solve the

What if the sequences have paddings? E.g. Input is [1 2 3 0 0 0] So flipped input would be [0 0 0 3 2 1]. Shouldn't it be [3 2 1 0 0 0]?

Just curious, is this problem solved?

I came up with a solution to the padding issue. Say a tensor [1,2,3,0,0], where 0 is the padding token. We flip it to get [0,0,1,2,3], pass it to the network and flip it back. Therefore, the flipped tensor information matches the original tensor order as we apply double flips.
given: x
out = x + f(x.flip()).flip()

I came up with a solution to the padding issue. Say a tensor [1,2,3,0,0], where 0 is the padding token. We flip it to get [0,0,1,2,3], pass it to the network and flip it back. Therefore, the flipped tensor information matches the original tensor order as we apply double flips.
given: x
out = x + f(x.flip()).flip()

Hi,  Your approach is clever! But I have a question: if you flip the input to [0,0,1,2,3], does the padding in front of it affect sequence hidden features learning? i.e., does it produce a different result(bad repersentation of sequence) than the input of [3,2,1,0,0]?
I don't know enough about it, could you possibly give me some guidance? This will help me a lot. Thank you very much!

@xuanwuji well, you can remove the leading paddings by shifting each row of x before flipping x. As for its effect, since the hidden state is initialized with 0, it should still be filled with 0 after scanning through the paddings. So, those padding shouldn't have any effect on the result. However, you can use the following function just to be sure.
def flip_padded_hidden_states(hidden_states, seq_lens):
    batch_size, seq_len, hidden_dim = hidden_states.shape

    indices = torch.arange(batch_size * seq_len, device=hidden_states.device).reshape(
        batch_size, seq_len
    )

    indices_offset = seq_len - seq_lens

    indices = (indices - indices_offset.unsqueeze(1)) % (seq_len * batch_size)

    indices = indices.flip(1)

    return hidden_states.reshape(batch_size * seq_len, hidden_dim)[indices]

checking the effect of paddings:
import torch
from mamba_ssm import Mamba2, Mamba
from torch.nn import functional as F

batch, length, dim = 2, 64, 16

model = Mamba(
    d_model=dim, # Model dimension d_model
    d_state=16,  # SSM state expansion factor
    d_conv=4,    # Local convolution width
    expand=2,    # Block expansion factor
).to("cuda")

x = torch.randn(batch, length, dim).to("cuda")
padded_x = F.pad(x, (0,0, 4,0))

y = model(x)
padded_y = model(padded_x)

unpadded_y = padded_y[:,4:]

print(f'Output max diff: {(unpadded_y - y).abs().max().item()}')
print(f'Output mean diff: {(unpadded_y - y).abs().mean().item()}')


chore(deps): update repo dependencies

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: n/a
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Changes to be committed:
modified:   README.md
modified:   package-lock.json
modified:   package.json
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Other (please elaborate)

Checklist:

[X] My update follows the CONTRIBUTING guidelines of this project
[X] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Constrain gravity to be positive.

This makes sure gravity never flips the sign and becomes negative.
Signed-off-by: Wolfgang Hess<EMAIL_ADDRESS>

Hi @wohe ,
This commit introduces a bug when running cartographer with my config.
When calling the /finish_trajectory while running 3d localization online, cartographer crashes with the error as shown in the image below.

I am not sure, but I think it might be due to my config where I set a high value for motion filter max time.

TRAJECTORY_BUILDER_3D.motion_filter.max_time_seconds = 1e9

I set this to overcome the fact that the IMU drifts a lot when still, and I don't want the gravity_constant to be effected by the drift error. (If left alone, the submap/robot pose rotates bit by bit along y axis due to the drift. Corrects when some movement is introduced).
Any thoughts on the matter or a possible solution, would be much appreciated until I get a better IMU :sweat_smile:
Atleast, will it be OK if I revert this commit in my local branch (temporarily) ?
Thank you in advance
Sooraj


Get transform if it exists

Prevent decoding transform from $.cssProps when transform does not exist.
PR Checklist
Please review the guidelines for contributing to this repository.

[x] I am requesting to pull a topic/feature/bugfix branch (right side). In other words, not master.
[x] I have run grunt against my changes and both linting and tests pass.
[ ] I have added tests to prove my fix is affective or my feature works. This can be done in the form of unit tests in test/bdd/test.js or a new demo on demo/index.html.
[ ] I have added or edited necessary documentation in the README.md (if appropriate).

Testing is broken on Linux:
Running "mocha:all" (mocha) task
Testing: test/index.html
Warning: PhantomJS timed out, possibly due to a missing Mocha run() call. Use --force to continue.
Aborted due to warnings.

Description
On jquery 3.4.0 this emerges. Somehow this is accessed $.cssProps.transform but it is not present so an exception occurs.
(https://github.com/timmywil/jquery.panzoom/issues).-->
Fixes: #

@timmywil I am struggling with this particular issue upgrading jQuery to 3.4.1. Would you consider working on a patch on this? I assume this is a well-known security issue on your team. Ideally, I would love to still use this library that we rely on heavily in some UI.

I could merge it, but maybe instead of null it could fall back to "transform"

This is very helpful. Thank you so much for your hard work!


Remove Apifox.Apifox 2.4.12 to Ruihu.Apifox 2.4.12

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

URL: http://cdn.apifox.com/download/2.4.12/Apifox-2.4.12.exe
Status Code: 200
(Automated message - build 869)


Reset autoplayTimeout on goTo() call?

I'm not sure if I'm missing a feature, or this isn't possible yet:
I've set up a slider with autoplay and a certain timeout (lets say 1000ms). I've also set up some buttons with the goTo(i) to skip to a certain slider. This all works fine.
But if I look at a slide for 800ms, then click a goTo() button to skip to a certain slide, it moves on after 200ms.
Is it possible to reset the autoplayTimeout in any way?

I had same problem, solution is simple:
slider.goTo(i);
slider.pause();
slider.play();

It's resetting autoplay Timer timeout.
Hope that helped you.


Slider, slide, chart, group and area attributes' names for changes introduced with splitting the industry

This PR features front end names for

slides
sliders
charts
slider groups (interface groups)

For all items introduced in https://github.com/quintel/etsource/pull/1147

I have merged this pull request and all related pull requests on other repositories. Everything has been deployed and most specs pass.
As these pull request constitute such a major change to the ETM, I suggest that we all keep an eye out for unexpected behaviour. More thorough testing will be done before the September deploy. Notifying @ChaelKruip , @antw , @grdw and @DorinevanderVlies .
Two points that we know need our attention are:

We need to create the new slides and sliders related to the changes in these pull requests
We need to update the (preset and database) scenarios to be compliant with these changes
@RobTerwel , @antw and I will fix these later today.

Finally, a big thanks to @RobTerwel who made this all happen. I guess we need to call you 'major improvement' from now on 😉


Image not correctly loaded from cash when previously loaded with a different size

The gallery example shows the following problem: The image loading infrastructure loads a very pixelated version of the image in the fullscreen view, proly the same instance as in the smaller filmstrip

This is fixed as of today.


update documentation and author annotation

Pull Request Test Coverage Report for Build 354

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 90.807%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/ptman/MainApp.java
1
53.61%

Totals

Change from base Build 353:
0.0%

Covered Lines:
3141

Relevant Lines:
3459

💛  - Coveralls


Added RSS feed for danny@ETH

FYI: Your feed seems to have a newline at the beginning, which at least my RSS feed reader doesn't like whatsoever.

Thx, will have a look at it tomorrow!


Need Help

In the universal Coins mod 1.7.10-1.6.33 how do you use the remote storage. I am not sure how to use the remote storage please help with video if possible.

Sorry for ignoring this. I haven't had much time to work on this mod lately. I hope you figured out how to use the linking card. Documentation or videos would be nice, but mod functionality is a higher priority.