Concurrency detector tests depend on evaluation in final projection

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • None
    • None
    • Dotnet Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      In order to reliably detect two concurrent queries, the query in one thread signals to the query in the other thread to start while that first query is still being processed. This happens by executing code in the final projection:

              var blockingTask = Task.Run(
                  async () =>
                  {
                      try
                      {
                          await context.Customers.Select(
                              c => Process(c, synchronizationEvent, blockingSemaphore)).ToListAsync();
                      }
                      finally
                      {
                          synchronizationEvent.Set();
                      }
                  });
      

      This is currently not supported, and is tracked by EF-250.

            Assignee:
            Unassigned
            Reporter:
            Arthur Vickers
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: