Paged Grid on active data source

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Paged Grid on active data source

Adam X
Howdy again!

This question is probably not so much about Tapestry but from what I
see on this list some of you have build and/or are maintaining large
enterprise apps in T5.

I'm building such an app and I'm facing a dillema on a TransactionView
page (navigated from TransactionSearch page). I'm not asking about how
to build paged grid because jumpstart has very good examples and I'm
good with that.

My problem is that my transaction data source is extremaly active with
many transactions coming in real time. When one searcher for
transactions and gets N results which are then paged, say 1-10 of N,
and then navigates to page 2 expecting to retrieve 11-20 of N but in
reality it will be 11-20 of N+K where K is the number of transaction
that has arrived after rendering page 1 before requesting page 2. So
11-20 will repeat K transactions from page 1 because of K number of
new transactions (which would now be on page 1).

I can think of solving it in 2 ways, neither of which I want to do for
obvious (performance) reasons:

1) Fetch all records and persist them (ugh!)
2) Create a temporary table.

Option 2 seems just as bad and actually only works for RDBMS data
source. Unfortunately once of my sources is DynamoDB so I even
wouldn't be able to use option #2 if I wanted to.

How do you guys solve this kind of problem?

Adam

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Paged Grid on active data source

Bob Harner
You're right, this isn't a Tapestry-specific problem. I doubt there is a
solution that doesn't involve compromises, but there are some interesting
suggestions here:
http://stackoverflow.com/questions/25099732/paging-of-frequently-changing-data

On Nov 30, 2016 3:38 AM, "Adam X" <[hidden email]> wrote:

Howdy again!

This question is probably not so much about Tapestry but from what I
see on this list some of you have build and/or are maintaining large
enterprise apps in T5.

I'm building such an app and I'm facing a dillema on a TransactionView
page (navigated from TransactionSearch page). I'm not asking about how
to build paged grid because jumpstart has very good examples and I'm
good with that.

My problem is that my transaction data source is extremaly active with
many transactions coming in real time. When one searcher for
transactions and gets N results which are then paged, say 1-10 of N,
and then navigates to page 2 expecting to retrieve 11-20 of N but in
reality it will be 11-20 of N+K where K is the number of transaction
that has arrived after rendering page 1 before requesting page 2. So
11-20 will repeat K transactions from page 1 because of K number of
new transactions (which would now be on page 1).

I can think of solving it in 2 ways, neither of which I want to do for
obvious (performance) reasons:

1) Fetch all records and persist them (ugh!)
2) Create a temporary table.

Option 2 seems just as bad and actually only works for RDBMS data
source. Unfortunately once of my sources is DynamoDB so I even
wouldn't be able to use option #2 if I wanted to.

How do you guys solve this kind of problem?

Adam

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Loading...