Memcached - Manual up to date? do the settings work?

Hi

It took me a while to get memcached to work without giving any errors in the seahub.log.

I went through this post and tried several memcached items.

I think we should update the manualm which I am happy to do, but first wnated to check with your experiences.

I tried a fresh install of seafile 6.2.5 in a fresh Ubuntu 16.04 system.

For memcached I had to do several different steps (manual vs Actual below):

Manual: sudo apt-get install libmemcached-dev
Actual: sudo apt-get install libmemcached-dev zlib1g-dev memcached

Manual: sudo pip install pylibmc && sudo pip install django-pylibmc
Actual: sudo -H pip install pylibmc && sudo -H pip install django-pylibmc

Manual:
CACHES = {
‘default’: {
‘BACKEND’: ‘django_pylibmc.memcached.PyLibMCCache’,
‘LOCATION’: ‘127.0.0.1:11211’,
}
}

Actual:
CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.memcached.MemcachedCache’,
‘LOCATION’: ‘unix:/tmp/memcached.sock’,
}
}
(The above requires a change to the memcache.conf (https://guides.wp-bullet.com/configure-memcached-to-use-unix-socket-speed-boost/))

I have no idea if the memcached solution that I am using makes actual sense. It’s just the only way how I avoid any error messages in the seahub.log.
I got the “inspiration” from this Forum thread: Error Memcached WSGI
Does the original Seafile Manual work for everyone else and is it just my problem?

Again, I think the Seafile Manual is generally really good, but maybe we/I should update this specific section?

I would be glad if people would share their experience.

Chris

I had the same experience with memcached (post fastcgi) and eventually landed on the same solution you found.

Maybe we can get some feedback from @DerDanilo on the status of the Manual, how to update it, and a short critique of this approach vs. the one put forward in the official documentation.

You can issue a pull request for a proposed manual change in github for Seafile.

@wthess I am happy to do a pull request and did that before, but I first would like to understand what actually needs / should be changed.
Currently I just did trial and error and eventually came to a solution. I do not fully understand the memcached settings I am using now and the consequences of the differences to the manual.

I don’t really want to put that into the manual.

@mercury cheers, and let’s see what @DerDanilo or maybe one of the developers might say. I agree to the „post fastcgi“ part.

1 Like

Do Your settings work with OnlyOffice? I had some issues with the detection of new file versions, when a document was altered via web interface (as described here: https://forum.seafile.com/t/onlyoffice-doesnt-create-new-file-version/5422)

I have not installed Open Office yet so can’t say.

I will probably do that soon to try it out.

Maybe someone else has the setup with open office running?

I’ll test the settings myself this weekend and report here.

I have to agree. I don’t want to increase the noise level around configuration issues at Seafile. That kind of thing does not enhance the project at all. It isn’t enough to say “I got it working” and then drop the issue. It has to work completely, be reproducible by others and survive upgrades. And to that last point it really has to be vetted by Development.

As for our memcached issue, there have to be pros and cons as to which approach or binding is employed. I’d like to hear (and learn) from others as to what those issues are. Only after all that story is in can I really consider updating the Manual. Does that sound reasonable?

I have to remove memcached from seahub_settings.py for document changes to be saved and updated from the Onlyoffice document server running inside Seafile CE 6.2.5 (using subdirectory method). That is, other machines do not see the changes but the editor does, even after the document is closed and re-opened. The edited document does show that all changes have been saved.

Yes, that’s exactly the same behaviour I observed. Did you use the memcached settings introduced in this thread?

Yes, exactly. The same (alternative) settings put forward in this thread.

The CE version of the manual contains configuration information for different distros and local currently via port.

Currently it contains the following:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

I’ve got it working with local socket as well. I can add this to the manual once I find some time.

The overall “excitement” of the Seafile community is not high enough in my opinion to spend tons of time on the CE manual. It’s ready when it’s done.

1 Like

Please write me a PM if you want to contribute your knowledge to the CE manual. I’ll send you the link via PM.

Do you have a configuration that works with onlyoffice?