Skip to content

Conversation

@masiorski
Copy link

@masiorski masiorski commented Jan 21, 2020

Please review and release this PR. I'm leaving atlassian in February. I would like to finish PG support before my leave. Regards, Marcin

pullTimeout = Duration.ofMinutes(5)
)

constructor(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

parameters = "-p 3306:5432 -v `realpath $pgData`:/var/lib/postgresql/data",
arguments = "-c 'listen_addresses='*'' -c 'max_connections=$maxConnections'"
)
Thread.sleep(Duration.ofSeconds(15).toMillis())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be great to wait on a condition instead of thread sleep. We're either loose time waiting, or return too fast. And it can cause flakiness.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a red flag. @masiorski have you checked it there is any way to actually wait for the image to be ready rather than sleep?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do not need this line here, I will remove it, thanks

ubuntu.install(connection, listOf("lbzip2"))
time("unzip") {
connection.execute("tar -I lbzip2 -xf $archive", timeout)
val cmd = if (archive.contains("SCALED_ISSUES_UNIMODAL_PG"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change related to "Postgres support"?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes sir, I keep data sets for PG here - https://s3.console.aws.amazon.com/s3/buckets/jpt-pgdata/?region=eu-central-1&tab=overview
we need to move the archives to the correct S3 bucket (but I do not have rights there, need your help)

archive: String,
timeout: Duration
) {
ubuntu.install(connection, listOf("lbzip2"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have to install lbzip2 in case we're not using it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for pointing this out

@wyrzyk
Copy link
Contributor

wyrzyk commented Jan 21, 2020

Please update CHANGELOG.

@sebapawlak
Copy link
Contributor

I'm assuming HL-1205 is internal project. Is so there is no point in mentioning it in an open-source repo. You should create a JPREF ticket for this work and reference it.

Copy link
Contributor

@dagguh dagguh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks ok, but please test this.

override fun start(jira: URI, ssh: SshConnection) {
// TODO Check logs for the following entry
// LOG: database system is ready to accept connections
Thread.sleep(Duration.ofSeconds(15).toMillis())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sleep is suspicious too. How do we resolve the TODO?

  • resolve TODO
  • remove sleep

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sleep is enough here, postgres databases are initialising very quickly, checking logs is something nice to have

CHANGELOG.md Outdated
[Unreleased]: https://github.com/atlassian/infrastructure/compare/release-4.14.4...master
[Unreleased]: https://github.com/atlassian/infrastructure/compare/release-4.14.5...master

## [4.14.5] - 2020-02-03
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll mark the release after it happens, so you can remove this header

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More precisely, remove the entire changelog diff except for the actual change you're shipping:

### Added
- Add support for Postgres database.

import java.net.URI
import java.time.Duration

class PostgresDatabase(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can avoid the FileArchiver changes, perhaps by inlining some code, then this class wouldn't have to be merged it, but could be used in-place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants