Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | A more stable flagChangeTest | Christian Mollekopf | 2018-03-02 |
| | |||
* | Fixed and tested the upgrade from a database without version. | Christian Mollekopf | 2018-02-28 |
| | |||
* | Properly deal with filtered entities in reduced queries. | Christian Mollekopf | 2018-02-22 |
| | | | | Filtered entities would still end up in the entities list before. | ||
* | Deal with removals in reduced queries | Christian Mollekopf | 2018-02-22 |
| | |||
* | Apply modifications to aggregate values | Christian Mollekopf | 2018-02-21 |
| | |||
* | Xapian based fulltext indexing | Christian Mollekopf | 2018-02-11 |
| | | | | | This cuts into the sync performance by about 40%, but gives us fast fulltext searching for all local content. | ||
* | Store all BLOB properties inline. | Christian Mollekopf | 2018-02-06 |
| | | | | | | | | | | | | | | | | | | | | | BLOB properties had a couple of intended purposes: * Allow large payloads to be streamed directly to disk, and then be handled by reference. * Allow zero-copy handling. * Keep the database values compact so we can avoid traversing large BLOBS. However, they came at the cost of code-complexity, and we lost all the benefits of our storage layer, such as transactions. Measurements showed, that for email (the intended primary usecase), the overhead is hardly measurable, with most parts performing better, or at least not worse. We additionally also gain file-system independence, which may help on other platforms. The biggest drawback is probably that large payloads need to be written to disk twice, because of the synchronizer queue (once for the queue, once for the actual data). | ||
* | Cleanup | Christian Mollekopf | 2018-01-24 |
| | |||
* | Track uidvalidity to detect changes behind our back. | Christian Mollekopf | 2018-01-23 |
| | |||
* | Fixed imap tests | Christian Mollekopf | 2018-01-23 |
| | | | | | Adding the mail to cyrus imap somehow broke with cyrus 3.0. We're now creating the mail instead, before trying to sync it. | ||
* | We need all parents available, not only one | Christian Mollekopf | 2018-01-03 |
| | |||
* | Use read-write locks for finer grained control to sDbi and sEnvironments | Christian Mollekopf | 2018-01-03 |
| | | | | | | | | | | There are only a few cases where have to access the list of dbis or environments, so we can normally get away with just read-locking. This seems to fix a segfault that was possibly caused be an environment being reused that has already been freed in another thread. The read-only lock when initially retrieving the environment seems to fix that. | ||
* | Demonstrate the problem with child indexes entering before parent | Christian Mollekopf | 2018-01-03 |
| | | | | indexes | ||
* | Add a working model signal test | Christian Mollekopf | 2018-01-03 |
| | |||
* | Avoid messageId related warnings | Christian Mollekopf | 2018-01-03 |
| | |||
* | Removed broken tests | Christian Mollekopf | 2018-01-03 |
| | |||
* | Removed unused synclistresult | Christian Mollekopf | 2018-01-02 |
| | |||
* | No parent query | Christian Mollekopf | 2018-01-02 |
| | |||
* | Fixed removal of entity | Christian Mollekopf | 2017-12-29 |
| | |||
* | Cleanup | Christian Mollekopf | 2017-12-28 |
| | |||
* | Fixed incremental updates in folder queries | Christian Mollekopf | 2017-12-28 |
| | | | | | | | | | Incremental additions of children in the tree were filtered due to the parent filter. This broke when we started to maintain state, thus causing the filter in datastorequery containing the parent filter to be carried over. Given that the incremental querying of children currently doesn't really add much value (we don't have trees that are large/deep enough), perhaps we're better off using a different approach. | ||
* | Check for errors | Christian Mollekopf | 2017-11-23 |
| | |||
* | Storage debugging code | Christian Mollekopf | 2017-11-21 |
| | |||
* | Added timeouts to sinkloadtest | Christian Mollekopf | 2017-11-15 |
| | |||
* | Ensure the flatbuffer file is built before the tests | Christian Mollekopf | 2017-11-14 |
| | |||
* | Fixed use after free | Christian Mollekopf | 2017-11-14 |
| | |||
* | Fixed warnings | Christian Mollekopf | 2017-11-11 |
| | |||
* | Require valgrind when enabling memcheck | Christian Mollekopf | 2017-11-07 |
| | |||
* | Benchmarks in tests are too fragile | Christian Mollekopf | 2017-11-03 |
| | |||
* | sinkloadtest.py | Christian Mollekopf | 2017-11-03 |
| | |||
* | No benchmarking in tests | Christian Mollekopf | 2017-10-20 |
| | |||
* | Ensure the test passes reliably. | Christian Mollekopf | 2017-10-17 |
| | |||
* | Initial query test | Christian Mollekopf | 2017-10-17 |
| | |||
* | Use QUICK_TRY_VERIFY | Christian Mollekopf | 2017-10-17 |
| | |||
* | pipelinebenchmark | Christian Mollekopf | 2017-10-17 |
| | |||
* | storagebenchmark | Christian Mollekopf | 2017-10-17 |
| | |||
* | dummyresourcebenchmark values | Christian Mollekopf | 2017-10-17 |
| | |||
* | Split up dummyresourcewritebenchmark into datasets that we want to | Christian Mollekopf | 2017-10-17 |
| | | | | display. | ||
* | QUICK_TRY_VERIFY for quick polling in benchmarks | Christian Mollekopf | 2017-10-16 |
| | |||
* | Updated the information we collect for dummyresourcewritebenchmark | Christian Mollekopf | 2017-10-16 |
| | |||
* | Don't do too much benchmarking in the tests | Christian Mollekopf | 2017-10-16 |
| | |||
* | Share variance/maxDifference implementation | Christian Mollekopf | 2017-10-16 |
| | |||
* | hawd def for incremental vs nonincremental comparison | Christian Mollekopf | 2017-10-12 |
| | |||
* | Changed how we record and print the mail query benchmark data. | Christian Mollekopf | 2017-10-12 |
| | | | | | | Each column can represent an individual value, which we can use to record related data. Each row thus represents a new run of the benchmark. | ||
* | We are not reliably staying under 500 | Christian Mollekopf | 2017-10-12 |
| | |||
* | Don't use QTRY_* in a benchmark | Christian Mollekopf | 2017-10-11 |
| | | | | It has a backoff timer inside which skews the time measurements. | ||
* | hawd json output module | Christian Mollekopf | 2017-10-10 |
| | |||
* | No need to make this overly complicated. | Christian Mollekopf | 2017-10-10 |
| | |||
* | Ensure we copy all blobs when copying to another resource | Christian Mollekopf | 2017-10-09 |
| | |||
* | Optimized the incremental update case. | Christian Mollekopf | 2017-10-08 |
| | | | | | | | | | | | | This brings the incremental closer to a regular query (about 1.5 times as bad instead of 3.5 times). For a comparison look at MailQueryBenchmark::testIncremental() The optimization is built on the assumption that we i.e. get an update with 100 revisions, and thus the optimization applies to the case where we have multiple revisions within that batch that are part of the same reduction. In such a case we can avoid redoing the reduction lookup over and over. |