1. 16 Jun, 2016 2 commits
  2. 12 Jun, 2016 1 commit
  3. 05 Jun, 2016 3 commits
  4. 04 Jun, 2016 5 commits
  5. 02 Jun, 2016 2 commits
  6. 31 May, 2016 6 commits
  7. 30 May, 2016 6 commits
    • Daniel Vrátil's avatar
      Introduce thread-safe Entity::retrieveByNameOrCreate() · 3b608051
      Daniel Vrátil authored
      During DB initialization when multiple resources try to synchronize
      and insert first item, the mimetypes, parttypes and other similar
      tables are empty and the entries need to be created. This presents
      a race condition when multiple threads try to create the new entry
      at the same time - one of them is succesfull, the others usually
      abort, which leads to the resource failing the synchronization.
      
      retrieveByNameOrCreate() will try to retrieve the item from cache
      or DB first. If it does not get any result it tries to acquire a
      lock. If the thread gets a lock it inserts the new entry into DB
      and cache. Otherwise the thread just waits for the lock (i.e. until
      the thread that acquired the lock inserts the new entity) and then
      retrieves the entity from the cache.
      
      This isn't really a common situation, which would happen during normal
      usage of Akonadi. We however see it quite often during unit-test
      initialization when all three Knut resources start pushing their
      data into Akonadi at the same time and trigger this race condition.
      3b608051
    • Daniel Vrátil's avatar
      Merge branch 'Applications/16.04' · 7c044c4b
      Daniel Vrátil authored
      7c044c4b
    • Daniel Vrátil's avatar
      Jobs: make sure all subjobs are finished before emitting result() · 3d35aaf1
      Daniel Vrátil authored
      This affects mostly CollectionSync, which would emit result() signal
      while a CommitTransaction subjob was still running. This caused the
      response to the CommitTransaction to be delivered to subsequent job
      started after the CollectionSync and was causing all kinds of havoc
      (like CollectionFetchJob emitting result() twice - once because of
      the CommitTransaction response not addressed to it and second time
      once the actual CFJ response arrived) in both clients and resources.
      3d35aaf1
    • Daniel Vrátil's avatar
      Fix CollectionCopyJob expecting wrong type of response · 04a1db61
      Daniel Vrátil authored
      The CollectionCopyJob was expecting CreateCollection response instead
      of CopyCollection, causing it to trigger warning every time. Luckily
      no harm done there, since the job does not expect the Response to
      contain any data and only takes it as an indicator of result.
      04a1db61
    • Laurent Montel's avatar
    • Laurent Montel's avatar
      Remove double margin · eef4408d
      Laurent Montel authored
      eef4408d
  8. 29 May, 2016 1 commit
  9. 27 May, 2016 1 commit
  10. 26 May, 2016 3 commits
  11. 22 May, 2016 5 commits
    • Daniel Vrátil's avatar
      Fix typo in previous commit · 907705fb
      Daniel Vrátil authored
      907705fb
    • Daniel Vrátil's avatar
      Introduce --verbose switch to force-enable all logging categories · f9b55e60
      Daniel Vrátil authored
      Most users don't have some logging categories enabled by default,
      or might have manually disabled them through QT_LOGGING_RULES or
      QT_LOGGING_CONF environment vars. Starting Akonadi with --verbose
      switch (akonadictl start --verbose) will override the Qt category
      filter and will enable all debug and warning messages. This is
      mostly for convenience, as it's easier to tell users in bugzilla
      to run akonadictl --verbose than how export QT_LOGGING_RULES properly.
      f9b55e60
    • Daniel Vrátil's avatar
      Merge branch 'Applications/16.04' · b40a9b82
      Daniel Vrátil authored
      b40a9b82
    • Daniel Vrátil's avatar
      Fix support for newer PostgreSQL versions, make the lookup generic · a4ae7597
      Daniel Vrátil authored
      On most distros PostgreSQL is installed in /usr/lib/postgresql/X.Y/
      (where X.Y is the version of the server). Constantly manually updating
      the internal list of all possible versions does not really scale, so
      instead the code now lists all folders in /usr/lib/postgresql/, sorts
      it in descending order and then looks for the first folder that contains
      pg_ctl.
      a4ae7597
    • Daniel Vrátil's avatar
      Fix MySQL 5.7 support · 213e7f9d
      Daniel Vrátil authored
      This implements support for various versions of Oracle MySQL and MariaDB,
      adding a special case for MySQL >= 5.7.4 (which removed --force command
      line option) and MySQL >= 5.7.6 (which deprecated mysql_db_install and
      recommends mysqld --initialize instead)
      
      Also improves debug output during initialization.
      
      BUG: 361485
      FIXED-IN: 16.04.2
      213e7f9d
  12. 17 May, 2016 1 commit
  13. 16 May, 2016 2 commits
  14. 15 May, 2016 2 commits