<< 18-July-2008 : hausbot on #activemq at codehaus [download] [back] >>
 
 
time nick message

13:02

<chirino_m>

rajdavies: hey I was wrong about that xindice stuff. It seems decent.. I had made a small mistake in my test case.

13:07

<chirino_m>

it seemed like the xindice btree was faster had a more consistent insert/delete rate.

13:10

<rajdavies>

chirino_m: nice!

13:10

<rajdavies>

how big a test case ?

13:10

<rajdavies>

how about the search times ?

13:11

<chirino_m>

could you check the HashIndexBenchmark test.. make sure it's configured right / optimized right

13:11

<rajdavies>

will do

13:11

<chirino_m>

the work load was 1 thread creating records. and 1 thread looking for a record and then deleting the record.

13:12

<chirino_m>

you will find a similar test in https://svn.apache.org/repos/asf/activemq/sandbox/xindice-stripped

13:12

<chirino_m>

BTW their Hash impl also seemed better.

13:13

<chirino_m>

perhaps I had the kaha one mis configured.

13:13

<rajdavies>

yep - 12 bins is a little harsh

13:14

<rajdavies>

can you just use the default ?

13:14

<chirino_m>

sure.

13:15

<chirino_m>

I copied that from the other hash test..

13:15

<chirino_m>

woot ok that looks much better

13:16

<chirino_m>

ok.. it's kicking ass now.

13:20

<rajdavies>

cool!

13:25

<chirino_m>

rajdavies: so you think it's worth doing the double buffering idea?

13:25

<rajdavies>

yeah! not sure how to do it though

13:26

<chirino_m>

I think the main thing we have to do is delay writing the pages to disk..

13:26

<chirino_m>

and alocated about 100 pages at the front of the file for the double buffer.

13:27

<rajdavies>

ok!

13:33

<chirino_m>

ok so even if we avoid the partial page write problem.. we still have the missed updates problem. Which we can redo, using the log

13:33

<chirino_m>

but it would be nice if the index could tell me where in the log to start from.

13:36

<rajdavies>

yes - agreed - there needs to be more info in the kaha indexes

13:37

<rajdavies>

Also - a HashIndex - points to another index which points to the real data - so theirs a lot of room for optimization

13:38

<rajdavies>

there's - sry jstrachan for my bad english!

13:38

<jstrachan>

:)

13:46

<chirino_m>

so is the index only getting updated by the journal now?

13:46

<rajdavies>

in amqstore - yes

13:47

<chirino_m>

cool so in every page we could also record what the journal location was for that update..

13:47

<rajdavies>

yes

13:47

<chirino_m>

and then we can just peak that the double buffer to see what was the last page updated. and get the last journal location.

13:48

<rajdavies>

yes

13:48

<chirino_m>

does each page also store it's id/offset

13:48

<chirino_m>

for the double buffer bit I think I need that.

13:48

<rajdavies>

its id is its offset

13:49

<chirino_m>

but is it stored in the page?

13:49

<rajdavies>

not at the moment

13:50

<chirino_m>

I may need to add that.. just so when I read the page from the double buffer, I know where it's real location should be.

13:51

<chirino_m>

also the next tricky bit is how do I now if the page in the double buffer had a partial page write or if the actual page had the partial page write?

13:51

<chirino_m>

s/now/know

13:51

<rajdavies>

I think we should do this as part of moving kaha into its own separate project

13:51

<chirino_m>

sure.

13:51

<jstrachan>

I get confused by this - is AMQDB the same thing as kaha - or is that considered something else?

13:52

<jstrachan>

is kaha the name for all the custom db stuff? or are there still 2 different beasties?

13:53

<rajdavies>

kaha is different - its used to store the indexes for AMQDB - but is a embeddable db in its own right

13:53

<jstrachan>

ah ok - so its just kaha that's be separate project right? the btree/db thingy

13:54

<jstrachan>

I guess AMQDB is AMQ specific stuff right?

13:54

<rajdavies>

yes - AMQDB is AMQ specific

13:54

<jstrachan>

messages + queue indices / durable topic subscriber stuff etc right?

13:54

<rajdavies>

yep

13:59

<chirino_m>

rajdavies: so lets spin the project then..

14:00

<chirino_m>

where should we put it?

14:02

<jstrachan>

sub-project of AMQ first?

14:03

<chirino_m>

yeah

14:03

<chirino_m>

in sandbox until amq starts using it?

14:04

<jstrachan>

its tempting to pop it straight at activemq/kaha/trunk etc?

14:04

<jstrachan>

I guess we should vote first :)

14:05

<chirino_m>

rdavies: welcome back

14:05

<rdavies>

I be in favor of starting either a new package for kaha - and fix it there

14:06

<rdavies>

yeah - sry laptop frooze

14:06

<chirino_m>

rdavies: so where in svn do you want to put it?

14:07

<chirino_m>

ttps://svn.apache.org/repos/asf/activemq/kaha or ttps://svn.apache.org/repos/asf/activemq/sandbox/kaha

14:07

<rdavies>

ideally a new sub project

14:07

<chirino_m>

that might require a vote and stuff

14:08

<rdavies>

yeah!

14:08

<rdavies>

lets kick off a vote

14:08

<chirino_m>

how about we sping up in the sandbox for now.. and start discussing it on dev.. and agree to make it a sub project

14:09

<rdavies>

that works ok too

14:09

<chirino_m>

so kaha or kahadb ...

14:09

<chirino_m>

adding a db might hint folks to what it is.

14:10

<rdavies>

its going to take some work to do properly

14:10

<chirino_m>

yeah

14:10

<rdavies>

yeah - kahadb

14:11

<chirino_m>

you wana do the initial spike.. or should I?

14:11

<chirino_m>

should we change the package to org.apache.kahadb too?

14:12

<rdavies>

yes

14:12

<rdavies>

could be a good time to come up with a better name ;)

14:12

<chirino_m>

tired of kaha?

14:13

<chirino_m>

sonicdb ... lol

14:17

<chirino_m>

rdavies: you wana do the initial spike.. or should I?

14:22

<rdavies>

chirino_m: I'm on vacation - you can ;)

14:24

<chirino_m>

rdavies: oh did not know!

14:24

<chirino_m>

hope your enjoying it.!

14:25

<rdavies>

still packing - so glad to be out of the way!

14:25

<jstrachan>

in the spirit of berkeleydb, maybe it should be dublindb, londondb or tampadb?

14:26

<rdavies>

I guess LeightonBuzzardDB is a little long ?

14:26

<rdavies>

;)

14:26

<chirino_m>

lbdb

14:26

<rdavies>

like it!

14:27

<rdavies>

already exists though

14:27

<rdavies>

best stick with kaha - more descriptive

14:27

<chirino_m>

k

14:32

<jstrachan>

yeah

15:43

<hadrian>

chirino_m: i wiped out my m2 repo and i have a missing artifact: protobuf-java-2.0.0beta do you know where it's available from ?

15:45

<jstrachan>

its not available yet - but the activemq-protocol-buffer shouldn't be included in the build yet?

15:46

<jstrachan>

I built it locally as it needed a little patch

15:46

<chirino_m>

jstrachan: perahps move it to sandbox?

15:46

<jstrachan>

yeah

15:47

<jstrachan>

I was gonna make the dependency available in some repo

15:47

<jstrachan>

I guess its a big undertaking switching out openwire

15:47

<jstrachan>

I guess we could move it into the amq 6 branch :)

15:47

<chirino_m>

jstrachan: yeah

15:48

<jstrachan>

it'd be nice if we could refactor the broker soon to use some kinda abstract-ish interfaces that we could implement on top of current openwire or something else (e.g. protocol buffer) or whatever - to loosen the dependency between the current openwire command structures and the functionality of the broker

15:50

<chirino_m>

jstrachan: +1

15:50

<chirino_m>

jstrachan: would require some serious surgery tho

15:50

<jstrachan>

yeah

15:50

<chirino_m>

I don't think even IDEA could handle that refactor :)

15:51

<jstrachan>

:)

15:51

<chirino_m>

well https://svn.apache.org/repos/asf/activemq/sandbox/kahadb is in.

15:51

<jstrachan>

coolio

15:51

<jstrachan>

its mostly all those broker/region/subscription classes

15:51

<jstrachan>

be nice to decouple a bit from the underlying wire protocol if we could

15:51

<chirino_m>

jstrachan: yeah

15:51

<jstrachan>

too scared to touch the code much though :)

15:52

<chirino_m>

me too!

15:52

<jstrachan>

might be better waiting for amq6 :)

15:52

<chirino_m>

jstrachan: if you want to experiment in a smaller broker..

15:52

<chirino_m>

we have a little experimental one.

15:52

<chirino_m>

that easier to grok/test ideas on.

15:53

<chirino_m>

feel free to test the idea out on https://svn.apache.org/repos/asf/activemq/sandbox/activemq-router

15:53

<jstrachan>

coolio

15:58

<chirino_m>

btw that ZK code is hard to hack without chaning lots of stuff.

15:58

<chirino_m>

not alot of interfaces or use of DI

16:06

<hadrian>

jstrachan: commenting out activemq-protocol-buffer from the build worked

16:07

<jstrachan>

coolio

16:07

<hadrian>

shouldn't i ci this? other users will certainly hit this too

16:07

<hadrian>

until protobuf-java becomes available

16:08

<jstrachan>

yeah, commit it

16:10

<chirino_m>

I sent a note out to the ZK folks asking if they wouldn't mind making the project more DI.

16:10

<hadrian>

done

21:05

<Ryan>

is anyone familiar with activemq-admin stop?

Drone v1.4 © 2002-2005 Uwyn RIFE powered