Memory-backend TTL

Lucas Grijander lucasgrinjander69 at gmail.com
Mon Oct 6 12:52:52 EDT 2014


Hi Luke.

curl -vvv -XGET "http://localhost:8098/riak/ttl_stg/props"
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8098 (#0)
> GET /riak/ttl_stg/props HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8098
> Accept: */*
>
< HTTP/1.1 404 Object Not Found
* Server MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained) is not
blacklisted
< Server: MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
< Date: Mon, 06 Oct 2014 16:20:22 GMT
< Content-Type: text/plain
< Content-Length: 10
<
not found
* Connection #0 to host localhost left intact



I think you wanted to say this command:

curl -vvv -XGET "http://localhost:8098/buckets/ttl_stg/props"
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8098 (#0)
> GET /buckets/ttl_stg/props HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8098
> Accept: */*
>
< HTTP/1.1 200 OK
< Vary: Accept-Encoding
* Server MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained) is not
blacklisted
< Server: MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
< Date: Mon, 06 Oct 2014 16:20:57 GMT
< Content-Type: application/json
< Content-Length: 458
<
* Connection #0 to host localhost left intact
{"props":{"allow_mult":false,"backend":"ttl_stg","basic_quorum":false,"big_vclock":1,"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"dvv_enabled":false,"dw":"quorum","last_write_wins":true,"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"n_val":3,"name":"ttl_stg","notfound_ok":true,"old_vclock":86400,"postcommit":[],"pr":0,"precommit":[],"pw":0,"r":3,"rw":"quorum","small_vclock":1,"w":"quorum","young_vclock":1}}


I have observed an another strange thing with the memory storage (I don't
know if it is related to the TTL problem):

Because of the TTL function is not working fine, I have put a "delete"
function inside the code to emule the TTL feature (I have removed the TTL
from the config), but, randomly, a lot of keys already deleted appear
again. The "delete" function is a "delete" and a "get" of the same key to
assure that the key is deleted. After, from console, I check it with this
command:

curl -X GET http://localhost:8098/buckets/ttl_stg/keys?keys=true

The problem of this is that i can't reproduce it. It happens randomly. If I
active again the TTL (in all nodes, restarting the cluster) and I remove my
"delete" function (I keep the get to assure that the key is deleted), the
problem is the same, randomly, old already deleted keys (thanks to the TTL)
appear suddenly after a few minutes. The logs are not showing anything.

2014-10-06 18:01 GMT+02:00 Luke Bakken <lbakken at basho.com>:

> Hi Lucas,
>
> Could you run the following curl statement and provide the full
> transcript of the command and response?
>
> curl -vvv -XGET "http://localhost:8098/riak/ttl_stg/props"
>
> --
> Luke Bakken
> Engineer / CSE
> lbakken at basho.com
>
>
> On Mon, Oct 6, 2014 at 8:55 AM, Lucas Grijander
> <lucasgrinjander69 at gmail.com> wrote:
> > Hi Luke,
> >
> > Of course. The request is a simple curl:
> >
> >  curl -v -X GET "http://localhost:8098/riak/ttl_stg/KEY"
> >
> > 2014-10-06 16:59 GMT+02:00 Luke Bakken <lbakken at basho.com>:
> >>
> >> Hi Lucas,
> >>
> >> Can you confirm that the bucket or bucket-type that contains the
> >> object you're retrieving has been configured to use the "ttl_stg"
> >> backend?
> >> --
> >> Luke Bakken
> >> Engineer / CSE
> >> lbakken at basho.com
> >>
> >>
> >> On Fri, Oct 3, 2014 at 11:32 AM, Lucas Grijander
> >> <lucasgrinjander69 at gmail.com> wrote:
> >> > Hello,
> >> >
> >> > I have a memory backend in production with Riak 2.0.1, 4 servers and
> 256
> >> > vnodes. The servers have the same date and time.
> >> >
> >> > I have seen an odd performance with the ttl.
> >> >
> >> > This is the config:
> >> >
> >> >            {<<"ttl_stg">>,riak_kv_memory_backend,
> >> >             [{ttl,90},{max_memory,25}]},
> >> >
> >> > For example, see this GET response in one of the riak servers:
> >> >
> >> > < HTTP/1.1 200 OK
> >> > < X-Riak-Vclock: a85hYGBgzGDKBVIc4otdfgR/7bfIYEpkzGNlKI1efJYvCwA=
> >> > < Vary: Accept-Encoding
> >> > * Server MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
> is
> >> > not
> >> > blacklisted
> >> > < Server: MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
> >> > < Link: </riak/ttl_stg>; rel="up"
> >> > < Last-Modified: Fri, 03 Oct 2014 17:40:05 GMT
> >> > < ETag: "3c8bGoifWcOCSVn0otD5nI"
> >> > < Date: Fri, 03 Oct 2014 17:47:50 GMT
> >> > < Content-Type: application/json
> >> > < Content-Length: 17
> >> >
> >> > If the TTL is 90 seconds, Why the GET doesn't return "not found" if
> the
> >> > difference between "Last-Modified" and "Date" (of the curl request) is
> >> > greater than the TTL?
> >> >
> >> > Thanks in advance!
> >> >
> >> >
> >> > _______________________________________________
> >> > riak-users mailing list
> >> > riak-users at lists.basho.com
> >> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> >> >
> >
> >
> >
> > _______________________________________________
> > riak-users mailing list
> > riak-users at lists.basho.com
> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20141006/245a5887/attachment.html>


More information about the riak-users mailing list