summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Put "syntax" at the bottomsinksh-better-cliMinijackson2018-08-02
|
* Explain --reduce betterMinijackson2018-08-02
|
* Add subcommand/parameter/option/flag and automatic helpMinijackson2018-08-02
|
* Avoid unnecessary Identifier conversions in performance ciritical code.Christian Mollekopf2018-07-28
| | | | | This fixes the performance regressions to a state where we are roughly at the same performance as pre Identifier (but not any better either).
* Fixed warningsChristian Mollekopf2018-07-28
|
* Don't print all results.Christian Mollekopf2018-07-27
|
* Debug messages and a higher limit for queriesChristian Mollekopf2018-07-27
|
* Fixed storagetestChristian Mollekopf2018-07-27
|
* Fixed buildChristian Mollekopf2018-07-27
|
* Use Key API in SinkSHRémi Nicole2018-07-27
| | | | | | | | | | | | | | | | | | Summary: Depends on D14289 - Fixes the `sinksh inspect …` command - Introduces `isValid`, `isValidInternal` and `isValidDisplay` static functions in Key, Identifier and Revision I still have to do a more extensive search for induced bugs in other commands Reviewers: cmollekopf Reviewed By: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D14404
* Use Key API in ResultSetRémi Nicole2018-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Depends on D14099 Notes: - Tests pass without many modifications outside of resultset.cpp/.h - `mGenerator` doesn't seem to be used? Benchmarks ========= Run benchmarks: | Develop | D14099 | This patch | | ---------------------------------- | ---------------------------------- | ---------------------------------- | | Current Rss usage [kb]: 40700 | Current Rss usage [kb]: 38564 | Current Rss usage [kb]: 39112 | | Peak Rss usage [kb]: 40700 | Peak Rss usage [kb]: 38564 | Peak Rss usage [kb]: 39112 | | Rss growth [kb]: 15920 | Rss growth [kb]: 13352 | Rss growth [kb]: 13432 | | Rss growth per entity [byte]: 3260 | Rss growth per entity [byte]: 2734 | Rss growth per entity [byte]: 2750 | | Rss without db [kb]: 29736 | Rss without db [kb]: 29248 | Rss without db [kb]: 30100 | | Percentage peak rss error: 0 | Percentage peak rss error: 0 | Percentage peak rss error: 0 | | On disk [kb]: 10788 | On disk [kb]: 9140 | On disk [kb]: 8836 | | Buffer size total [kb]: 898 | Buffer size total [kb]: 898 | Buffer size total [kb]: 898 | | Write amplification: 12.0075 | Write amplification: 10.1732 | Write amplification: 9.83485 | Test Disk Usage: | Develop | D14099 | This patch | | ----------------------------------- | ----------------------------------- | ----------------------------------- | | Free pages: 412 | Free pages: 309 | Free pages: 312 | | Total pages: 760 | Total pages: 599 | Total pages: 603 | | Used size: 1425408 | Used size: 1187840 | Used size: 1191936 | | Calculated key + value size: 856932 | Calculated key + value size: 702866 | Calculated key + value size: 702866 | | Calculated total db sizes: 970752 | Calculated total db sizes: 954368 | Calculated total db sizes: 933888 | | Main store on disk: 3112960 | Main store on disk: 2453504 | Main store on disk: 2469888 | | Total on disk: 3293184 | Total on disk: 2633728 | Total on disk: 2650112 | | Used size amplification: 1.66339 | Used size amplification: 1.68999 | Used size amplification: 1.69582 | | Write amplification: 3.63268 | Write amplification: 3.49071 | Write amplification: 3.51402 | Reviewers: cmollekopf Reviewed By: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D14289
* Use Key API in DataStoreQueryRémi Nicole2018-07-27
| | | | | | | | | | Reviewers: cmollekopf Reviewed By: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D14099
* Use Key API in indexesRémi Nicole2018-07-27
| | | | | | | | | | | | | | | | | | Summary: - Only in TypeIndex, not in Index (since we might want to store something other than identifiers as values) - We might want to do the same in the `SynchronizerStore` for localId ↔ remoteId indexes Depends on D13735 Some quick benchmarks (against develop and D13735): {F6022279} Reviewers: cmollekopf Reviewed By: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D13902
* New Key API in storage layerRémi Nicole2018-07-27
| | | | | | | | | | | | | | | | | Summary: - Use object oriented paradigm for Keys / Identifiers /Revisions - "Compress" keys by using byte representation of Uuids - Still some cleaning left to do - Also run some benchmarks - I'm questioning whether files other than entitystore (tests excluded) are allowed to access this API Reviewers: cmollekopf Reviewed By: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D13735
* Shouldn't be a warning if we expect to run into it.Christian Mollekopf2018-07-27
| | | | We always run into that when starting a resource.
* Only do partial matching (instead of wildcard) and limit expansion.Christian Mollekopf2018-07-27
|
* Better querytestChristian Mollekopf2018-07-27
|
* All xapian stuff in a central placeChristian Mollekopf2018-07-27
|
* There isn't even a resource which we could shutdown in this testChristian Mollekopf2018-07-26
|
* This is not a reliable test, so we turn it into a warning instead.Christian Mollekopf2018-07-25
|
* No random timeouts in testsChristian Mollekopf2018-07-25
|
* Avoid the socket probing and move the shutdown logic intoChristian Mollekopf2018-07-25
| | | | | | | | | | | | | | | resourceaccess. The problem was (as excercised by the last test in resourcecontroltest), that in this scenario we would: * trigger a synchronization that starts the resource, and then goes into a loop trying to connecting (KAsync::wait -> singleshot timer) * trigger a shutdown that would probe for the socket, not find it, and thus do nothing. * exit the testfunction, which somehow stops qtimer processing, meaning we are stuck in KAsync::wait. For now this is fixed by simply not probing for the socket.
* FixupChristian Mollekopf2018-07-25
|
* Same fix as last commit.Christian Mollekopf2018-07-25
|
* Fixed crash.Christian Mollekopf2018-07-25
| | | | Could be triggered by running the composerviewtest in kube.
* A faster method for a failing connectionChristian Mollekopf2018-07-24
|
* Wait for long enough so we can time-outChristian Mollekopf2018-07-24
|
* Also serialize single contactsChristian Mollekopf2018-07-24
|
* Use the qdebug serializer to print contactsChristian Mollekopf2018-07-24
|
* Print contactsChristian Mollekopf2018-07-24
|
* Always enable the inbox folder.Christian Mollekopf2018-07-16
| | | | | Some services don't have the inbox as part of the subscribed folders, at least not by default, so we just always enable it.
* Deal with modifications to filtered entitiesChristian Mollekopf2018-07-16
|
* Increase timeout to 5s also in tests.Christian Mollekopf2018-07-13
| | | | | The tests seem to be simply to slow right now, so let's bump this to avoid flaky tests.
* Readline is no longer requiredChristian Mollekopf2018-07-13
|
* test utf8Christian Mollekopf2018-07-13
|
* Bumped the version number in the spec fileChristian Mollekopf2018-07-12
|
* CleanupChristian Mollekopf2018-07-12
|
* Fixed the case when a dbi would leak through to a transaction where itChristian Mollekopf2018-07-12
| | | | | | shouldn't be visible yet. Was reproducible in the initial sync of the caldav resource.
* Going towards 0.8Christian Mollekopf2018-07-07
|
* Prepared release of v0.7.0v0.7.0Christian Mollekopf2018-07-07
|
* Document what copies and what doesn'tChristian Mollekopf2018-07-03
|
* A little extra testingChristian Mollekopf2018-07-02
|
* Fixed yet another reduction update codepathChristian Mollekopf2018-07-02
|
* Generate globally unique messageids without leaking the hostnameChristian Mollekopf2018-07-02
|
* Prevent a recycled session from timing out immediately.Christian Mollekopf2018-06-27
| | | | | This seems to happen sometimes (showed up in tests), and causes operations to fail.
* Check if libcurl is built with ssl support.Christian Mollekopf2018-06-27
| | | | On windows we lack ssl support it seems.
* Contains with an empty key doesn't make much sense.Christian Mollekopf2018-06-26
|
* Only modifications have changed propertiesChristian Mollekopf2018-06-26
|
* Avoid overwriting local changes with remote modifications.Christian Mollekopf2018-06-26
| | | | | | | | | | | | | | | | | | | The case we ran into is the following: * Fetching the full payload and marking all messages of a thread as read happens simultaneously. * The local modification to mark as read gets immediately overwritten when the full payload arrives. * Eventually the modification gets replayed to the server though (and the reversal isn't because coming from the source), so on next sync the situation fixes itself. To be able to improve this we try to protect local modifications in that properties that have been modified since baseRevision (which currently isn't, but should be equal to the last to the server replayed revision) are not overwritten. This conflict resolution strategy thus always prefers local modifications. baseRevision is currently set to the current maximum revision of the store at the time when the resource creates the modification.
* Fixed the lost update scenarioChristian Mollekopf2018-06-25
| | | | | | | If we get a fetchMore right between when the revision was updated and the incrementalQuery actually running, we ended up loosing the update because the result provider ended up with a too recent revision after the additional initial query.