Commit graph

51 commits

Author SHA1 Message Date
Morris Jobke
f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Joas Schilling
7d8b728066 Merge pull request #16832 from owncloud/memcache-fail
Throw exception if memcache misconfigured or missing
2015-06-16 11:00:18 +02:00
Robin Appelman
a9ff242f6a switch to using watch to implement cas and cad on redis 2015-06-12 17:28:09 +02:00
Robin Appelman
ac9f998abd add compare-and-delete to the memcache interface 2015-06-12 17:28:09 +02:00
Robin Appelman
1bc56a99e9 compare-and-set and compare-and-delete using lua scripts for redis 2015-06-12 17:28:09 +02:00
Vincent Petry
3b08b26589 Throw exception if memcache misconfigured or missing
Instead of falling back to null memcache, throw exceptions.
Also throw file locking specific exceptions in case the class is not
available.
2015-06-12 12:33:06 +02:00
Thomas Müller
3090348bf7 Null -> NullCache 2015-06-11 00:44:13 +02:00
Thomas Müller
48e915c7be Revert "Null -> NullCache"
This reverts commit ff24554e76.
2015-06-11 00:40:26 +02:00
Thomas Müller
ff24554e76 Null -> NullCache 2015-06-11 00:34:03 +02:00
Joas Schilling
bdc82dcfb9 Check for redis to be 2.2.5+ 2015-06-02 15:42:48 +02:00
Robin Appelman
6b965d71d1 add seperate config option for locking memcache backend 2015-06-01 13:22:56 +02:00
Vincent Petry
6df502a5aa Fix Null memcache fallback to match interface 2015-06-01 13:22:56 +02:00
Vincent Petry
5edf294ce5 Add CAS methods to Null memcache
This prevents breaking ownCloud completely when memcache is not enabled
and the locking code is triggered
2015-06-01 13:22:56 +02:00
Robin Appelman
a40a237441 use trait for cas polyfill for xcache 2015-04-30 14:48:39 +02:00
Robin Appelman
acf30ede95 add compare and swap to memcache 2015-04-30 14:48:39 +02:00
Robin Appelman
29213b6136 extends memcache with add, inc and dec 2015-04-30 14:48:36 +02:00
Michael Telatynski
8ebf9de3f8 Memcache\Redis Add DB Select Functionality 2015-04-15 21:24:38 +01:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Andreas Fischer
630b7edc54 Do not use APCu when apc.enabled is Off. 2015-03-25 14:52:01 +01:00
Lukas Reschke
c233f2c90b Add version and path to cache prefix
Prevents to have the cache reused by other instances on the server which have possible the same instance ID and also invalidates older cache entries after an upgrade which can cause unwanted side-effects.

Impact for deployment: The same cache will only get used if ownCloud is installed with the same version and under the same path. But this should be a basic requirement anyways.
2015-03-17 12:39:49 +01:00
Robin McCorkell
78819da3bf \OC\Memcache\Cache implements \OCP\ICache 2015-03-05 11:36:34 +00:00
Robin McCorkell
0e4933e6d2 Refactor \OC\Memcache\Factory
Caches divided up into two groups: distributed and local. 'Low latency' is an
alias for local caches, while the standard `create()` call tries to get
distributed caches first, then local caches.

Memcache backend is set in `config.php`, with the keys `memcache.local` and
`memcache.distributed`. If not set, `memcache.distributed` defaults to the value
of `memcache.local`.
2015-03-05 11:36:34 +00:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Lukas Reschke
cd4c064ebf Revert "add debug log for memcache instantiation" 2015-02-18 14:16:14 +01:00
Lukas Reschke
b701bbd8c5 Use APCu only if available in version 4.0.6 and higher
APCu before 4.0.6 is unbelievable buggy and tend to segfault the PHP process (i.e. the whole webserver)

This potentially fixes https://github.com/owncloud/core/issues/14175

Requires a backport to stable8
2015-02-17 13:28:02 +01:00
Jörn Friedrich Dreyer
87db136508 add debug log for memcache instantiation 2015-02-16 18:05:43 +01:00
Joas Schilling
8848b5f067 Add an array implementation of cache and use it if we are not debugging 2015-02-16 14:55:50 +01:00
Joas Schilling
e25998df0f Json_(en|de)code values on redis to be able to cache arrays 2015-01-20 10:51:27 +01:00
Robin McCorkell
17dd5d0816 Add Null memcacher 2015-01-09 13:18:00 +00:00
Andreas Fischer
0ba5c182f0 HHVM: In APC cache clear, only request the cache key in APCIterator.
The default value of the $format parameter of the APCIterator constructur is
APC_ITER_ALL which instructs the iterator to provide all available information
on cache values being iterated over. Only the key value is necessary for
matching and deletion via apc_delete(), though.

This prevents a "Format values FILENAME, DEVICE, INODE, MD5, NUM_HITS, MTIME,
CTIME, DTIME, ATIME, REFCOUNT not supported yet." notice on HHVM.
2014-12-19 03:24:00 +01:00
Morris Jobke
114a6464e8 Merge pull request #12748 from owncloud/redis_cache
Add Redis cache implementation, prefer over memcached, tests & config sample doc
2014-12-19 00:26:25 +01:00
Andreas Fischer
fcf3c5197f HHVM: Add workaround for missing Memcached::deleteMulti() 2014-12-17 18:10:11 +01:00
Jörn Friedrich Dreyer
363e9667ec Add Redis cache implementation, prefer over memcached, tests & config sample 2014-12-10 12:24:20 +01:00
Andreas Fischer
9be8ac5867 Memcache\Factory: Remove static, use globalPrefix. 2014-07-29 11:14:36 +02:00
Bart Visscher
88225db4af Memcached hasKey should test for success, the get can fail for other reasons.
One of the other failures is no running server.
2014-05-08 18:11:29 +02:00
Thomas Müller
9fac95c2ab Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
Andreas Fischer
bbfd97ce03 Merge pull request #6247 from owncloud/memcached-multiple-servers
Add support for multiple memcached servers.

* owncloud/memcached-multiple-servers:
  Readd support for memcached_server config variable.
  Add support for multiple memcached servers.
2014-02-08 14:21:19 +01:00
Jörn Friedrich Dreyer
2a6a9a8cef polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
icewind1991
a27529709b Merge pull request #6647 from owncloud/memcache-public
Add Memcache to the public api
2014-02-04 05:38:53 -08:00
Robin Appelman
1ab7ca0a19 Fix some phpdoc errors and rename interface 2014-01-24 16:01:19 +01:00
Otto Sabart
2f8ebd03b0 Add check for apc.enabled option
Sometimes it's not possible to disable APC entirely and some of
apc_functions are disabled. Only thing which is possible is
to disable apc.enable option.
2014-01-24 15:52:28 +01:00
Andreas Fischer
acd81f6c69 Readd support for memcached_server config variable. 2014-01-10 00:57:40 +01:00
Andreas Fischer
320353c237 Add support for multiple memcached servers. 2014-01-10 00:57:34 +01:00
Robin Appelman
4d65a80892 Remove the static dependency on OC_Util from Memcache 2014-01-06 13:11:38 +01:00
Robin Appelman
cd147bb37a Use APCIterator for Memcache\APC::clear() 2014-01-06 12:58:43 +01:00
Robin Appelman
83f968ace2 Fix APCIterator syntax in \OC\Memcache\APCU::clear
see http://www.php.net/manual/en/apciterator.construct.php
2014-01-02 16:12:56 +01:00
Andreas Fischer
38f4ecaeac Merge remote-tracking branch 'owncloud/master' into fixing-3417-master
* owncloud/master: (30 commits)
  Added entry with ext storage info
  [tx-robot] updated from transifex
  [tx-robot] updated from transifex
  clarifying license
  remove unused method tail()
  reliable detect encrypted files
  [tx-robot] updated from transifex
  remove duplicated code
  add missing quotes + field declarations
  Do not use xcache variable cache if cache size is 0.
  always show home breadcrumb in files view
  Use DEBUG instead of ERROR when favourites not found. Fix #6419
  update file cache for target file
  only remove encryption keys if a real file gets deleted, skip this method if a file outside of /data/user/files was deleted
  Fixed JS plural function to be per app
  call set password hook because it doesn't get triggered during test execution and fix paths
  Do not use L10n when logging exceptions
  Also add default to the \OCP\IConfig interface
  add default parameter for AllConfig->get*Value()
  always show 'Deleted Files' breadcrumb
  ...

Conflicts:
	lib/private/memcache/xcache.php
2013-12-18 15:44:46 +01:00
Andreas Fischer
dfeb04a574 Do not use xcache variable cache if cache size is 0.
This is possible because it is possible to only use xcache as an opcode cache
but not a variable cache.
2013-12-17 02:40:16 +01:00
Andreas Fischer
c205d8d1c9 Merge remote-tracking branch 'owncloud/master' into fixing-3417-master
* owncloud/master: (1989 commits)
  [tx-robot] updated from transifex
  dont try to register background jobs if we haven't upgraded yet
  adjust test
  coding style
  coding style
  On webdav sesssions, loginname was compared to username which does not need to match necessarily
  rely only on php DateTime to parse the db datetime string
  LDAP: fix method behind save button on advancend and expert tabs, fixes at least Home Folder setinng
  Fix webroot for update page
  Update 3rdparty ref
  update 3rdparty
  toggle select all checkbox
  remove unneeded ; in comment
  LDAP: the browser shall not autofill userdn and password, usually login credentials are inserted. fixes #6283
  Add test for having utf8 filenames in the cache
  fix fallback overwriting result of getHome
  [tx-robot] updated from transifex
  fix smbclient directory listing parser
  cache the home folder of a User
  Send "SET NAMES utf8" to MySQL for PHP below 5.3.6
  ...

Conflicts:
	lib/util.php
2013-12-14 18:32:48 +01:00