Roundup Tracker - Issues

Issue 2550721

classification
Support for memcached
Type: resource usage Severity: normal
Components: Database Versions: 1.4
process
Status: closed abandoned
:
: : ber, rodriguealcazar, rouilj
Priority: : patch

Created on 2011-08-19 16:13 by rodriguealcazar, last changed 2024-07-16 23:05 by rouilj.

Files
File name Uploaded Description Edit Remove
memcache_support.diff rodriguealcazar, 2011-08-19 16:13 patch to support integration with memcached
Messages
msg4384 Author: [hidden] (rodriguealcazar) Date: 2011-08-19 16:13
This is a patch that makes it possible to use memcached instead of the
in-memory database cache.

With the patch applied, you simply need to add a config param:

memcache = localhost:11211

Hope this can be useful.
msg4387 Author: [hidden] (ber) Date: 2011-08-22 08:13
Hi Rodrigue,
thanks for the contribution! It is well appreciate.
I saw that you have also written unit-tests! Very nice!

Now the next step is that we find someone that can test the patch.
Can you write a few sentences about the advantages that
we could possibly include in the news or can be used for testing
so that the improvements can be felt. We want to give users an idea
how they profit from your addition.
Also an entry to changes would be intesting.

Best Regards,
Bernhard
msg4394 Author: [hidden] (rodriguealcazar) Date: 2011-08-24 10:06
Hi Bernhard,

> Can you write a few sentences about the advantages

this patch is purely a performance improvement. Memcached has improved
the responsiveness of our install of roundup. As for figures, I should
be able to take a few moments to time some roundup requests with and
without memcached enabled and get a better sense of what the performance
gain is.

Note that by default, the patch does not change the current roundup
behaviour.

> Also an entry to changes would be intesting.

I'm not sure what you mean here?

Rodrigue
msg4395 Author: [hidden] (ber) Date: 2011-08-24 10:15
Rodrigue,
with changes I've referred to 
https://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk/CHANGES.txt
It makes the life of the maintainers easier, if patches already
contain some documentation or a changes entry.

Like with your patch it would be cool to know for the documentation.
what people could do to activate the benefits or migrate from
old settings.

If this is a general improvement should it be a default for new tracker
instances.
msg4396 Author: [hidden] (rodriguealcazar) Date: 2011-08-24 10:19
Got it. I will update the changes.txt as well then.

> If this is a general improvement should it be a default for new tracker
instances.

Well, that would add a dependency on memcached and force users to
install it along with roundup, so I would say that it should not be a
default for new trackers.
msg5605 Author: [hidden] (rouilj) Date: 2016-06-18 03:09
Rodrigue have you by change updated this patch to a more current
release of roundup?

I tried applying the patch and unsurprisingly the patch doesn't apply
to the current version since it's been 4-5 years.

I have managed to hand apply it, but there are some sections thathave
changed significantly.

Also did you consider replacing the cache in back_anydm as you have
with rdbms_common?
msg7254 Author: [hidden] (rouilj) Date: 2021-05-28 01:59
Rodrigue,

Are you still around? If so I would like to work with you on getting
this patch installed on a recent version.

Also I was wondering if you had thought of using this as an
option for the session database. I have had performance issues
when using the session db and memcached (or redis) should solve
that issue.
msg7633 Author: [hidden] (rouilj) Date: 2022-08-09 01:34
Article on memcached that includes a method to safely update an element in the cache.

https://realpython.com/python-memcache-efficient-caching/


Not sure if it applies in this use case but...
msg8104 Author: [hidden] (rouilj) Date: 2024-07-16 23:05
I am closing this as abandoned. If it gets reopened things to look at:

  1) support anydbm
  2) consider making it support redis instead/in addition to memcached
     since redis is supported for sessiondb.
  3) add a [dbcache] config section for config options.
     (similar to how [sessiondb] was added with redis support). Might need a time
     to live setting or max-size setting to imit cache size.
  4) document which pip install command is used to supply the 'memcache' module.
  5) this patch cascades caches. It calls memcached on a cache miss of the in memory
     cache, then goes to the DB. Not sure how two roundup processes
     behave if: roundup1 caches X, roundup 2 updates X. Roundup2 can evict X from
     in memory and memcached, but how is X evicted from roundup1? I think the cascade
     needs to be removed and only memcached used as the cache.
History
Date User Action Args
2024-07-16 23:05:46rouiljsetstatus: new -> closed
resolution: abandoned
messages: + msg8104
2022-08-09 01:34:59rouiljsetmessages: + msg7633
2021-05-28 01:59:05rouiljsetmessages: + msg7254
2016-06-18 03:09:03rouiljsetnosy: + rouilj
messages: + msg5605
2011-08-24 10:19:17rodriguealcazarsetmessages: + msg4396
2011-08-24 10:15:58bersetmessages: + msg4395
2011-08-24 10:06:58rodriguealcazarsetmessages: + msg4394
2011-08-22 08:13:23bersetnosy: + ber
messages: + msg4387
2011-08-19 16:13:09rodriguealcazarcreate