Commit Graph

59 Commits

Author SHA1 Message Date
Nicolas Grekas
98253201f3 bug #21025 [Cache] remove is_writable check on filesystem cache (4rthem)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] remove is_writable check on filesystem cache

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #21024
| License       | MIT
| Doc PR        | -

* Use 755 mode for directories creation
* Remove `is_writable` check in FilesystemAdapter to avoid exception on read-only filesystems

Commits
-------

4dc4f69 remove is_writable check on filesystem cache
2016-12-28 09:22:53 +01:00
Nicolas Grekas
aed6f86782 fix merge 2016-12-27 14:36:53 +01:00
Tristan Darricau
eaca2a4509 [cache] Bump RedisAdapter timeout to 5s
Bump RedisAdapter timeout to 5s because (at least with Predis) 0 means 0s
2016-12-27 14:21:58 +01:00
Arthur de Moulins
4dc4f694ca remove is_writable check on filesystem cache 2016-12-23 13:05:40 +01:00
Nicolas Grekas
6d4a658ab7 [Cache] Make directory hashing case insensitive 2016-11-09 15:09:05 +01:00
Nicolas Grekas
b77d6d90c5 Merge branch '2.8' into 3.1
* 2.8:
  Compatibility with Twig 1.27
  [VarDumper] Fix dumping Twig source in stack traces
  Enhance GAE compat by removing some realpath()
  bumped Symfony version to 2.8.14
  updated VERSION for 2.8.13
  updated CHANGELOG for 2.8.13
  bumped Symfony version to 2.7.21
  updated VERSION for 2.7.20
  update CONTRIBUTORS for 2.7.20
  updated CHANGELOG for 2.7.20
  [SecurityBundle] Fix twig-bridge lowest dep
2016-10-28 10:18:15 +02:00
Erik Saunier
77eea43ee1 [Cache] Fix password used to make the redis connection. 2016-09-23 15:37:10 +02:00
Nicolas Grekas
47db638fa1 [Cache] Handle unserialize() failures gracefully 2016-08-10 19:24:03 +02:00
Nicolas Grekas
aadeb117ac [Cache] Use SCAN instead of KEYS with Redis >= 2.8 2016-08-06 11:34:31 +02:00
Nicolas Grekas
c45b91650c minor #19540 [Cache] Minor cleanup (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] Minor cleanup

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

34d9518 [Cache] Minor cleanup
2016-08-05 10:40:17 +02:00
Nicolas Grekas
6f390d45e3 Merge branch '2.8' into 3.1
* 2.8:
  Relax 1 test failing with latest PHP versions
  bumped Symfony version to 2.8.10
  Remove usage of __CLASS__ outside of a class
  [HttpKernel] Fix variable conflicting name
  [Process] Fix double-fread() when reading unix pipes
  [Process] Fix AbstractPipes::write() for a situation seen on HHVM (at least)
  [Validator] Fix dockblock typehint in XmlFileLoader
  bumped Symfony version to 2.8.10
  updated VERSION for 2.8.9
  updated CHANGELOG for 2.8.9
  bumped Symfony version to 2.7.17
  updated VERSION for 2.7.16
  update CONTRIBUTORS for 2.7.16
  updated CHANGELOG for 2.7.16
  Minor fixes
  [Console] Overcomplete argument exception message tweak.
  fixed bad auto merge
  Console table cleanup
  undefined offset fix (#19406)
  [EventDispatcher] Removed unused variable

Conflicts:
	CHANGELOG-2.7.md
	CHANGELOG-3.0.md
	src/Symfony/Bridge/Swiftmailer/DataCollector/MessageDataCollector.php
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php
	src/Symfony/Component/Console/Tests/Helper/TableTest.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/legacy-container9.php
	src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2016-08-05 10:37:39 +02:00
Nicolas Grekas
34d9518c54 [Cache] Minor cleanup 2016-08-05 09:41:15 +02:00
Nicolas Grekas
aaff0d1da3 bug #19442 [Cache] Fix default lifetime being ignored (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[Cache] Fix default lifetime being ignored

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/cache/pull/1
| License       | MIT
| Doc PR        | -

Courtesy of @ecanovas

Commits
-------

35ba478 [Cache] Fix default lifetime being ignored
2016-07-28 08:49:58 +02:00
Nicolas Grekas
35ba478680 [Cache] Fix default lifetime being ignored 2016-07-27 10:15:52 +02:00
Nicolas Grekas
bd2e79577f [Cache] Fix incorrect timestamps generated by FilesystemAdapter 2016-07-26 15:05:38 +02:00
Fabien Potencier
a434e7b419 fixed CS 2016-06-29 07:42:25 +02:00
Nicolas Grekas
040f53d3e6 [Cache] Fix double fetch in ProxyAdapter 2016-06-14 07:54:16 +02:00
Nicolas Grekas
9461750bd0 [Cache] Drop counting hit/miss in ProxyAdapter 2016-05-25 09:47:04 +02:00
Nicolas Grekas
0c8358b3fe [Cache] Rename nonce to version 2016-05-17 19:16:01 +02:00
Fabien Potencier
b5b141cf9a feature #18715 [FrameworkBundle] Default to Apcu+Filesystem cache chain (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Default to Apcu+Filesystem cache chain

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes (perf)
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

In #16838, @dunglas benched that the filesystem cache is not the fastest one (not a surprise).
Yet, it is the default for now. I propose to replace this default by a dynamically created one that uses APCu when available (of course, we cannot do the check at container-build time), chained with the filesystem.

The benefit is double: APCu is automatically used when available without any configuration, and cache warming up is seeded by the filesystem cache so that the apcu cache can benefit from it.

Commits
-------

b9b57f9 [FrameworkBundle] Default to Apcu+Filesystem cache chain
2016-05-13 12:53:26 -05:00
Nicolas Grekas
b9b57f93cb [FrameworkBundle] Default to Apcu+Filesystem cache chain 2016-05-13 12:36:10 -05:00
Fabien Potencier
8f6c3b0711 bug #18724 [Cache] Lock-less FilesystemAdapter (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Lock-less FilesystemAdapter

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yes (perf)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

53b1ee5 [Cache] Lock-less FilesystemAdapter
2016-05-12 15:12:44 -05:00
Fabien Potencier
c9c875e008 minor #18714 [Cache] Clean RedisAdapter pipelining + FilesystemAdapter (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Clean RedisAdapter pipelining + FilesystemAdapter

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR refactorize Redis pipelining so that the case for handling RedisArray is abstracted, thus less bug prone.

Commits
-------

acf0075 [Cache] Clean RedisAdapter pipelining + FilesystemAdapter
2016-05-12 13:43:28 -05:00
Nicolas Grekas
acf007529f [Cache] Clean RedisAdapter pipelining + FilesystemAdapter 2016-05-12 12:01:30 -05:00
Nicolas Grekas
53b1ee52a2 [Cache] Lock-less FilesystemAdapter 2016-05-08 05:02:40 +02:00
Nicolas Grekas
a7899fe65c [Cache] Add nonce based cache invalidation to ApcuAdapter 2016-05-06 21:40:17 +02:00
Nicolas Grekas
b004243cb3 [Cache] Add support for Predis, RedisArray and RedisCluster 2016-05-04 18:13:46 +02:00
Nicolas Grekas
9a56498c8d [Cache] Cleanups 2016-05-02 14:16:25 +02:00
Nicolas Grekas
3073efb6d1 [Cache] Add DSN based Redis connection factory 2016-05-01 11:31:04 +02:00
Nicolas Grekas
11654591e7 [Cache] Dont use Redis connection when not required 2016-04-28 10:49:16 +02:00
Nicolas Grekas
5786f3d532 [Cache] Minor cleanup 2016-04-27 08:45:20 +02:00
Christian Flothmann
8b0d990a0c [Cache] fix expiration handling in ArrayAdapter 2016-04-24 19:31:20 +02:00
Nicolas Grekas
4256add915 [Cache] Test & tweak CacheItem::validateKey() 2016-04-20 18:47:41 +02:00
Nicolas Grekas
af09cdef49 [Cache] Add CacheItem::validateKey utility method 2016-04-20 11:19:01 +02:00
Nicolas Grekas
9dcbe3403c [Cache] Minor tweaks 2016-04-17 13:51:09 +02:00
Nicolas Grekas
98dce411e8 [Cache] Workaround krakjoe/apcu#170 2016-04-12 08:30:53 +02:00
Nicolas Grekas
714b916d5d [FrameworkBundle] Add & use Psr6CacheClearer 2016-04-05 16:36:41 +02:00
Nicolas Grekas
bc51fdeec3 [Cache] Normalize constructor arguments order 2016-04-04 11:41:14 +02:00
Fabien Potencier
b0fffac156 fixed CS 2016-03-27 14:54:44 +02:00
Fabien Potencier
ae86e5bc88 feature #18215 [Cache] Add a Chain adapter (dunglas, nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Add a Chain adapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | #17556
| License       | MIT
| Doc PR        | -

Made in coordination with @dunglas

Commits
-------

68d9cea [Cache] Optimize Chain adapter
ebdcd16 [Cache] Add a Chain adapter
2016-03-27 14:53:58 +02:00
Masterklavi
e132763f55 Fast multiple setEx with the pipeline transcation (RedisAdapter::doSave) 2016-03-23 18:33:57 +01:00
Masterklavi
47f45b1d5e Fixed a bug: saving with not serializable values (RedisAdapter) 2016-03-21 10:30:40 +01:00
Nicolas Grekas
68d9ceabb2 [Cache] Optimize Chain adapter 2016-03-17 11:33:40 +01:00
Kévin Dunglas
ebdcd16bdd [Cache] Add a Chain adapter 2016-03-17 09:39:21 +01:00
Fabien Potencier
f29d46f29b feature #18176 [Cache] Restrict flushes to namespace scopes (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Restrict flushes to namespace scopes

| Q             | A
| ------------- | ---
| Branch        | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Instead of flushing all cache namespaces all the time, we can flush only the keys in the namespace.

Commits
-------

8744443 [Cache] Restrict flushes to namespace scopes
2016-03-15 17:54:37 +01:00
Nicolas Grekas
8744443b49 [Cache] Restrict flushes to namespace scopes 2016-03-15 17:43:22 +01:00
Nicolas Grekas
6b7a1fcefa [Cache] Finish Redis adapter 2016-03-15 17:09:11 +01:00
Aurimas Niekis
4893cbc24a Added RedisAdapter 2016-03-15 10:28:32 +01:00
Fabien Potencier
117d83bd95 minor #18085 [Cache] Hash using B64+MD5 in FilesystemAdapter (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Hash using B64+MD5 in FilesystemAdapter

| Q             | A
| ------------- | ---
| Branch        | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Using MD5+B64 is good enough to avoid any hash collision, even on case-insensitive filesystems.
On Windows where the total path length is limited, this saves 44 chars worth.
Even if collisions are extremely unlikely, they are detected by adding then comparing the raw key to saved payloads. This also has the added benefit of easing debugging/grepping the cached items on the filesystem.

Commits
-------

e96bb10 [Cache] Hash using B64+MD5 in FilesystemAdapter
2016-03-10 17:37:34 +01:00
Nicolas Grekas
5068f8751a [Cache] Add namespace handling to all adapters 2016-03-10 10:26:34 +01:00