Large Active Objects tables?

Does anyone have experience of how JIRA performs for reading Active Object tables that have just a few columns? Say 500,000 rows and 6 columns, no foreign keys

I want to be able to query for all the rows that match on one field, returning probably less than 1000 matching rows

 

1 answer

Hi Matt,

we have Email This Issue customers with having 600K-1M records in a table used to store email logs. The table has many columns as well.

Querying the table with ActiveObjects was never a problem, at least we never received a complaint about query performance and the data set I personally tried on PostgreSQL had approximately 650K records in this table and it was running fine on my laptop.

However, sometimes ActiveObjects execute ALTER TABLE statements. Two of our customers reported performance issues concerning ALTER table statements executed by ActiveObjects on this very huge table. Both of them used mySQL 5.1, so it looked to me that it was mySQL that could not complete the statements.

Again, this is ALTER TABEL not a SELECT. SELECT was always acceptable.

We had an Atlassian event (like an AUG) yesterday and there was a presentation about using Querydsl to query huge plugin tables with extremely good performance. So there is an easy and promising alternative to ActiveObjects when it comes to querying AO tables within an addon.

Tibor

 

Chris Fuller Atlassian Team Mar 10, 2016

I think in general, AO itself is not likely to be a performance bottleneck.  If you are frequently querying by a particular field, then it is good to make sure that the field is indexed, but that isn't something that is a database optimization and not unique to AO.

AO will do ALTER TABLE commands when you install a new version of a plugin and AO sees that the database metadata does not match the entity definitions.  It is not something that it would do under normal conditions.  This is due to installing a plugin on a live system which, while possible, is never going to be free of risk.

As Tibor mentions, internally Atlassian is converting our own plugins to use AO for schema management only and using atlassian-pocketknife-querydsl to write queries.  I'd like to see us ship that as a bundle instead of a library at some point, but we've had enough success with QueryDSL at this point that I would definitely say it's worth investigating.

 

Chris, Tibor, thanks for the info. Good to hear of the work on querying AO

Hi guys,

As probably you know, Confluence(version < 6.0.1) uses some old version of guava(as I remember 11.0.2). And qurydsl uses newer version of guava - 18.0. 
The question is: Is it possible to use querydsl library in Confluence(version < 6)?

Yuriy: You should ask that as its own question.  It is not related to this question at all.

 

(Also, I'm guessing you chose to put your name in ()s rather than the []s that are used by default?  It seems to be breaking the editor.  I can't mention you.)

Suggest an answer

Log in or Join to answer
Community showcase
Emilee Spencer
Published yesterday in Marketplace Apps

Marketplace Spotlight: DeepAffects

Hello Atlassian Community! My name is Emilee, and I’m a Product Marketing Manager for the Marketplace team. Starting with this post, I'm kicking off a monthly series of Spotlights to highlight Ma...

30 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot