The new drupal cache system allows different cache backends for the different bin's. I would like to upload the drupal 7 APC cache backend. Could I become the maintainer of this project?

Comments

R.Muilwijk’s picture

Project: Alternative PHP Cache » Drupal.org site moderators
Version: 6.x-1.x-dev »
Component: Code » Project ownership

As can be seen the maintainer did not reply to the issue itself but we did have contact by email. I'd like a webmaster to think about this. Slantview is the owner of the cache router module which enables functionality to have different backends for the caching system in drupal 6.

In drupal 7 chx got his own implementation into core. So the cache router module does not provide extra functionality over the drupal 7 core implementation. I even suggested Slantview to backport the functionality into cache router so we are not working on two different implementations and cache backends are exchangeable and are custom projects. However he does not want to do this and is even porting his module to drupal 7 which I do not understand.

For Drupal 7 I wrote a cache backend for APC which uses chx his implementation. I'd like to release this to the APC project.

avpaderno’s picture

Assigned: R.Muilwijk » Unassigned

To make a summary, you want to do something with Slantview's project he does not want to do, and you are asking us to make you co-maintainer.

Something does sound right, to me. We cannot force a mantainer to do what he does not want to do, if it is not a security, or license issue; we cannot make you co-maintainer just because the current maintainer has a different opinion about the code to develop.

R.Muilwijk’s picture

Assigned: Unassigned » R.Muilwijk

If you go to the APC page you could see it just states this project does not exist but go visit cache router. So he is not maintaining it. But if you rather have me start another project called 'apcbackend' that is oke too. But I think that will be inconsistent with the other backend names for drupal 7.

damien tournoud’s picture

Assigned: R.Muilwijk » Unassigned

From #1, it seems like you have contacted slantview by email, but it is not clear what was the conclusion of this email conversation.

R.Muilwijk’s picture

mail to slantview:

Hello Slantview,

I've been trying to get in contact with you for a while. I would like to upload the drupal 7 cache backend for APC to the APC project. Could I become maintainer? I made an issue for it at http://drupal.org/node/573104.

Thanks in advance.
Raymond

response from slantview:

Well, that is gonna be handled within Cache Router for the final Drupal 7 release. I really don't see the point of restarting a project that is already handled by another module. I think there are so many caching modules out there already it gets a bit confusing. If you want to work with me to start patching for the 7.x branch of Cache Router, I would much prefer that.

-s

my response:

Hello Sterude,

like I already emailed you I would like to talk with you about Cache Router. In drupal 7 we already have multiptle cache backends in core. So what is the extra value Cache Router offers to core drupal 7?

For instance I would rather install the APC and Memcache module which supply me with the different cache backends and use the default core settings to use like apc for the 'cache' bin and memcache for the 'cache_menu' bin then use Cache Router which doesn't really add value to Drupal 7.

I agree that there should not be a Drupal 6 release because in six cache router will have added value. Though I would like to see that Cache Router would use the same mechanisme Drupal 7 does so the backends can be used for 6 & 7.

Kind regards,
Raymond

He didn't respond to my last email which was send on 10 sept.

chx’s picture

I will talk to slantview so he understands there is no point in continuing cacherouter.

slantview’s picture

I gave him commit access to APC module, but as I stated in #593238: Do not release Drupal 7 version of this and move the engines into separate projects I think APC should be part of core, maybe we can all work to make that happen and get rid of the contrib module altogether. If you guys want to make him maintainer I have no objections to that, I would like to continue to help out on it if that is the direction that we are going to go in. I personally think splitting up all these cache modules into separate modules is a pain for end users. Having APC, Memcache, File and DB caching in core seems like a better plan. I will convert my engines and try to get them into core, but I will definitely need other performance minded people on board with this plan. Dries has previously stated that he would like to see additional cache engines in core. I will open a new issue and work on that seperately.

The ultimate goal for cache router was to get the engines into core and let cache router be an addon that will allow you to use multiple engines simultaneously. I haven't had time to provide patches for core, but I still think this would be a great plan. The reason I replied and said I would rather see the work in cache router is because I already have working implementations, and I would hate to see yet-another-fork of the code. This has already happened several times, most notably with the "Cache" module (http://drupal.org/project/cache) and the authcache module (http://drupal.org/project/authcache). Authcache has since removed the Cache Router code and I think that moving these engines to core would allow better coverage and more people to test.

chx rewrote the Cache API for D7, but one of the biggest roadblocks for writing a coherent cache api (cache_clear_all) has not changed at all. This function needs to go away and be reworked into standard patterns (cache_delete, cache_flush_all, cache_flush_temporary). We are overriding the function to do different things based on what parameters are passed in and it is not clearly documented how it should work. Contrib module developers have continually messed this up and clear caches that are unnecessary based on a misunderstanding to what to pass into this function.

Sorry for the rant, but these are the reasons I didn't want to start down the APC module path again. More time before this can actually go into core. More beta releases, and further from getting to a destination for this code. Cache Router will have a 1.0 official release in October. I have been hired to build out functionality to bring it into a bigger project so that it can be more widely deployed. I wanted to take the code from this final release, and repackage the engines as DrupalCacheInterface classes for D7 and try to get them committed into core.

chx’s picture

Also, we still have code slush so you are welcome and was welcome during the last two years to improve the cache system. I have not heard from you that this is the problem with the cache system nor I did from anyone else.

slantview’s picture

@chx - I intend to, and not to be a jerk, but I've emailed you privately and never heard a response about working on core caching, and I've been working on Cache Router in the open it's not a secret what I've been doing. It's listed in plain english on the project page that I would like to see that technology in core.

Everyone else that I emailed about putting together efforts at Drupalcon DC (last Drupalcon I was able to attend) was uninterested in combining efforts on cache router and memcache.

As far as not hearing from anyone else that this is a problem and basically discounting my statement, here is a reference for you. In John VanDyk's session in DC he specifically calls out the issue of how we override cache_clear_all to do too many things (ref. http://www.archive.org/details/DrupalconDc2009-InsideDrupalCachingFromSt...) see about 11:30 marker when he starts talking about cache_clear_all and specifically has a title that says "Yikes!".

As far as the last two years, I have maintained memcache api prior to you, i wrote the initial session handling for memcache api, i wrote cache router, and the Drupal 5 cache serialzation patch. I don't appreciate you acting like I haven't been active with this stuff. I was intending to rewrite cache api for Drupal 7 but you got to it before I did.

I will get to work on this as soon as my schedule permits. Glad to see that what efforts everyone else puts into Drupal goes unnoticed. Just because I'm not some Drupal rockstar like yourself doesn't mean I don't spend a lot of time trying to make it better. I hope you feel justified that you can make me feel like shit about the thousands of hours in Drupal development I've done in two sentences, great community leaders we have here.

Thanks.

chx’s picture

I made a mess here and I am truly sorry. I have indeed forgot that you wrote #137415: cache serialization. Please accept my apologies, OK?

slantview’s picture

Apology accepted.

avpaderno’s picture

Status: Active » Fixed

As the OP has been made co-maintainer, I think this report can be considered fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Project: Drupal.org site moderators » Drupal.org project ownership
Component: Project ownership » Ownership transfer