I meant you have an index function that doesn't return the entire in-memory object, it just returns application ID's and other meta-data.

What is "descending time order"? Is it the time the application was created? The time the application log was created? The time the application log was last updated? Anyways I just don't see any benefit here at all of adding this offset stuff, it just looks ugly and someone is going to come along and wonder why this is here and it won't be easy for them to figure it out.

If we want to optimize this, it's likely we'd add support for some sort of predicates in the future (for instance, the YARN history service seems to have a notion of predicates that can be based on time, user, or other things).