Hi Ian,
I attached the results.zip file to the JIRA which has the latest results as
your expectation. I added new set of nodes in reverse order "F", "E" .."A".
But here I came across in a issue (which I didn't came up last time, may be
due to my heap size), that hector fails to execute batches > around
300-500.. So in my case batch size is 600. I googled for the issue
(me.prettyprint.hector.api.exceptions.HectorException: All host pools
marked down. Retry burden pushed out to client) and the solution was reduce
the batch size. Hence I ran the test for each node separately. Hence In new
results zip file each node has its own report file. I categorized them in
two 3 main folders so that you can easily locate the results. i.,e folders
"_create", "_update" , "_delete"  ..





On Wed, Sep 11, 2013 at 1:58 PM, Ian Boston <i...@tfd.co.uk> wrote:

> Hi,
> Could you re-run the tests for create in the reverse order, largest
> collection first.
>
> The reason for this is in the detail of the tests adding resources to
> collection E (10M child nodes) is flat until half way through and then
> starts to rise which makes me thing there might be something else
> going on on the machine of the create mechanism. I would like to rule
> out that Cassandra is caching writes and the speed of update bears no
> correlation to collection size, but is a function of sustained load. I
> would also like to rule out any possibility that another OS level
> process started to hog resources in the latter part of your tests.
>
> The results do look comparatively flat all the way up 100M items in a
> collection.
>
> Once we have done this we can move on to providing access control, on
> items.
>
> Best Regards
> Ian
>
>
>
> On 11 September 2013 03:37, Dishara Wijewardana <ddwijeward...@gmail.com>
> wrote:
> > Hi Ian,
> > Sorry the delay, I found my self some battery problems with my laptop. I
> > believe this is what you asked for. Here I added new 100 collections i.e
> > 1a,3a,5a etc in each old collections and did CUD. Please advice what I
> > should do next.
> >
> > CREATE
> > [RESULT] Average Latency Under Node A(1K)   = 11 (ms)
> > [RESULT] Average Latency Under Node B(10K)  = 9 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 13 (ms)
> > [RESULT] Average Latency Under Node D(1M)   = 23 (ms)
> > [RESULT] Average Latency Under Node E(10M)  = 110 (ms)
> > [RESULT] Average Latency Under Node F(100M) = 306 (ms)
> > [FIRST RUN] #TOTAL CALLS = 600 Total Average Latency = 79 (ms)
> >
> > UPDATE
> > [RESULT] Average Latency Under Node A(1K)   = 9 (ms)
> > [RESULT] Average Latency Under Node B(10K)  = 8 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 9 (ms)
> > [RESULT] Average Latency Under Node D(1M)   = 17 (ms)
> > [RESULT] Average Latency Under Node E(10M)  = 20 (ms)
> > [RESULT] Average Latency Under Node F(100M) = 26 (ms)
> > [FIRST RUN] #TOTAL CALLS = 600 Total Average Latency = 15 (ms)
> >
> > DELETE
> > [RESULT] Average Latency Under Node A(1K)   = 12 (ms)
> > [RESULT] Average Latency Under Node B(10K)  = 12 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 11 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 14 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 19 (ms)
> > [RESULT] Average Latency Under Node C(100K) = 16 (ms)
> > [FIRST RUN] #TOTAL CALLS = 600 Total Average Latency = 14 (ms)
> >
> >
> >
> > On Tue, Sep 10, 2013 at 5:25 PM, Ian Boston <i...@tfd.co.uk> wrote:
> >
> >> Are they pre-populated with different numbers of items, or are they
> >> empty when the test starts ?
> >>
> >> If they are empty and created by the test, can you run the test on the
> >> collections used in the read tests so we get an idea how long it takes
> >> to add 100 items to each of those collections.
> >>
> >> Thanks
> >> Ian
> >>
> >> On 10 September 2013 12:25, Dishara Wijewardana <
> ddwijeward...@gmail.com>
> >> wrote:
> >> > Hi Ian,
> >> > Those are newly added collections.
> >> >
> >> >
> >> > On Tue, Sep 10, 2013 at 12:00 PM, Ian Boston <i...@tfd.co.uk> wrote:
> >> >
> >> >> Hi Dishara,
> >> >> Great, thanks.
> >> >> What do the LA, MA, and SA stand for ?
> >> >> Best regards
> >> >> Ian
> >> >>
> >> >> On Tuesday, September 10, 2013, Dishara Wijewardana wrote:
> >> >>
> >> >> > Hi Ian
> >> >> > Also commited the 3 new test classes for CUD to google code repo.
> >> >> >
> >> >> >
> >> >> > On Tue, Sep 10, 2013 at 10:30 AM, Dishara Wijewardana <
> >> >> > ddwijeward...@gmail.com <javascript:;>> wrote:
> >> >> >
> >> >> > > Hi Ian,
> >> >> > > Finally was able to fix ;-). Had to debug along with the path and
> >> fix
> >> >> > some
> >> >> > > other issues also in Cassandra Provider impl. I have updated the
> >> JIRA
> >> >> > with
> >> >> > > the new reports of CUD.
> >> >> > > (I ran them one after the other respectively)
> >> >> > >
> >> >> > > In brief as follows.
> >> >> > > CREATE
> >> >> > > Average Latency Under Node LA  = 165 (ms)
> >> >> > > Average Latency Under Node MA  = 203 (ms)
> >> >> > > Average Latency Under Node SA  = 256 (ms)
> >> >> > > #TOTAL CALLS = 300 Total Average Latency = 208 (ms)
> >> >> > >
> >> >> > > UPDATE
> >> >> > > Average Latency Under Node LA   = 36 (ms)
> >> >> > > Average Latency Under Node MA   = 29 (ms)
> >> >> > > Average Latency Under Node SA   = 25 (ms)
> >> >> > > #TOTAL CALLS = 300 Total Average Latency = 30 (ms)
> >> >> > >
> >> >> > > DELETE
> >> >> > > Average Latency Under Node LA   = 20 (ms)
> >> >> > > Average Latency Under Node MA   = 19 (ms)
> >> >> > > Average Latency Under Node SA   = 19 (ms)
> >> >> > > #TOTAL CALLS = 300 Total Average Latency = 19 (ms)
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > > On Mon, Sep 9, 2013 at 5:47 PM, Ian Boston <i...@tfd.co.uk>
> wrote:
> >> >> > >
> >> >> > >> Hi
> >> >> > >> The CassandraImpl needs to return something suitable to
> represent
> >> >> > >>
> >> >> > >>  /content/cassandra/p
> >> >> > >>
> >> >> > >> For the moment, if the column family p does exist, return a new
> >> type
> >> >> > >> of read only resource, eg CassandraColumnFamilyResource.
> >> >> > >>
> >> >> > >> Ian
> >> >> > >>
> >> >> > >>
> >> >> > >> On 9 September 2013 13:02, Dishara Wijewardana <
> >> >> ddwijeward...@gmail.com
> >> >> > >
> >> >> > >> wrote:
> >> >> > >> > On Mon, Sep 9, 2013 at 2:09 PM, Ian Boston <i...@tfd.co.uk>
> >> wrote:
> >> >> > >> >
> >> >> > >> >> Hi,
> >> >> > >> >> The call to processCreate a few lines earlier should have
> >> created
> >> >> the
> >> >> > >> >> resource so that the subsequent call to getResource returned
> the
> >> >> new
> >> >> > >> >> resource into newResource.
> >> >> > >> >>
> >> >> > >> >> If you look through the calls the create operation is called
> in
> >> >> > >> >>
> >> >> > >> >>
> >> >> > >> >>
> >> >> > >>
> >> >> >
> >> >>
> >>
> org.apache.sling.servlets.post.impl.operations.AbstractCreateOperation.deepGetOrCreateNode(ResourceResolver,
> >> >> > >> >> String, Map<String, RequestProperty>, List<Modification>,
> >> >> > >> >> VersioningConfiguration)
> >> >> > >> >>
> >> >> > >> >> Line 533
> >> >> > >> >>
> >> >> > >> >>                     resource = resolver.create(resource,
> name,
> >> >> > props);
> >> >> > >> >>
> >> >> > >> >> Stick a breakpoint at that line and see, if its called, and
> if
> >> the
> >> >> > >> >> resource resolver calls your code.
> >> >> > >> >>
> >> >> > >> >>
> >> >> > >> >>
> >> >> > >> > Hi Ian,
> >> >> > >> > Yes it calls the create method. As I see the issue is the
> commit
> >> not
> >> >> > >> > getting called and hence resolver cannot get the created
> >> resource.
> >> >> > >> > So I thought of commit on the fly @create method to verify
> that.
> >> But
> >> >> > we
> >> >> > >> > have a problem here.
> >> >> > >> >
> >> >> > >> > When I try to create /content/cassandra/p/c node, as you
> exactly
> >> >> > >> mentioned
> >> >> > >> > before, it tries to create  /content/cassandra/p node.  In
> >> Cassandra
> >> >> > >> Impl,
> >> >> > >> > there cannot be a node like  /content/cassandra/p and hence
> >> returns
> >> >> > >> NULL as
> >> >> > >> > earlier and still create fails. Because "p" is the column
> family
> >> >> (the
> >> >> > >> model
> >> >> > >> > which we agreed and implemented). So what is the best
> approach to
> >> >> > >> overcome
> >> >> > >> > this.
> >> >> > >> >
> >> >> > >> >
> >> >> > >> >
> >> >> > >> >> BTW: Its Ok that there is a newResource.adaptTo(Node.class)
> as
> >> the
> >> >> > >> >> result is checked for Null a moment later. You do not need to
> >> >> support
> >> >> > >> >> adaptTo(Node.class), which is a special case for Jcr.
> >> >> > >> >>
> >> >> > >> >> Best Regards
> >> >> > >> >> Ian
> >> >> > >> >>
> >> >> > >> >> On 9 September 2013 06:05, Dishara Wijewardana <
> >> >> > >> ddwijeward...@gmail.com>
> >> >> > >> >> wrote:
> >> >> > >> >> > Hi Ian,
> >> >> > >> >> > I debug the servlet from line to line and locate the NPE
> that
> >> >> > causes
> >> >> > >> this
> >> >> > >--
> >> >> > Thanks
> >> >> > /Dishara
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Thanks
> >> > /Dishara
> >>
> >
> >
> >
> > --
> > Thanks
> > /Dishara
>



-- 
Thanks
/Dishara

Reply via email to