|
|
11/26/2013 12:26:14 AM
calculation in one class and simplify the code"
This reverts commit bd4f6e704cbe2593d23fab5e65df0d85bd2bcbb7.
|
|
|
11/25/2013 12:49:57 PM
the getSubscriptionBundlesForAccountId API (which is
behind /1.0/kb/accounts/ACCOUNT_ID/bundles) and optimize the various
layers to limit the amount of DAO calls.
1.0 call timings for an account with 35 bundles and 67 subscriptions:
* Before changes: 8m40s
* After changes: 6.50s at startup, 4.20s after caches are warm
Since this call should be fast, change most APIs in DefaultSubscriptionApi
to always build all subscriptions for a given account first, and then do
further filtering in memory (per bundle, etc.). This simplifies the amount
of codepaths to optimize.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
|
11/23/2013 1:48:15 PM
the magic and add tests for eventsStreamBuilder.buildForAccount. Even though
all tests were passing, I still went ahead and updated buildForAccount to do the same
magic as buildForEntitlement. I didn't manage to write a failing test scenario for it
but it seems required.
This also fixes an NPE with standalone subscriptions.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
|
11/22/2013 8:39:38 PM
in one class and simplify the code
|
11/21/2013 11:38:41 PM
Pierre-Alexandre Meyer <pierre@mouraf.org>
|
11/21/2013 10:19:50 PM
Pierre-Alexandre Meyer <pierre@mouraf.org>
|
11/21/2013 10:08:01 PM
by limiting the amount of database calls.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
|
11/27/2013 12:47:36 PM
patch removes getBlockingAll(UUID blockableId, BlockingStateType blockingStateType, InternalTenantContext context);
from BlockingInternalApi: junction was calling it multiple times for different blockingStateType, which
was breaking the natural ordering of events and hence introducing bugs when computing blocking durations.
Instead, we introduce getBlockingAllForAccount(InternalTenantContext context);
Events are ordered correctly by junction and will return bundle, subscription and account level blocking
events (we were ignoring the subscription level ones before for some reason).
This also:
* fixes the ordering returned by the SQL statements (only really needed for getBlockingStateForService
as we re-order the other calls in ProxyBlockingStateDao).
* removes BillingEventSet#isLast which wasn't used.
This closes #123.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
|