Skip to main content

Weekly Engineering May 2019

Before: ttps://www.getoutline.com/doc/weekly-eng-q1-2019-wcYwcKn60Mhttps://www.getoutline.com/doc/weekly-engineering-april-2019-j4aq1PGnEJ/

May 30 - Run by Puru

Joe Curlee:

  1. common sense tip from today's fire: re-test old stale MRs (and try to avoid stale MRs)

  2. Assign MRs to yourself so that peeps can filter on your name -- MR does not auto assign to creator

Sergey Tyan

  1. Sergey Tyan [3:22 AM]react under the hood: https://www.youtube.com/watch?v=ssyqOYISPco - don’t have to be a topic on the meeting, but really interesting talk

  2. Commiting specific lines of a file to git in VSCode: https://www.loom.com/share/354934de6d2b453daf0dd9cdb42e2054 Puru: git add -p for non VS code users

Ben Ross: How to know if a page is cached. https://www.getoutline.com/doc/cached-pages-and-abs-on-cached-pages-mLqCextENB

Praneeta Mhatre: if simple copy is not used in JS, please do not add to yml file JS needs to read from SIMPLE_COPIES_DICTIONARY which gets populated from the yml files However, server / haml files can read directly from db/redis cache

Follow-ups:

  • Rails 5 proceeding? - Testing party is progress
  • Staging/dev apps - on Formulation sprint
  • status of all things - do we check that before deploying, did we add heroku, new relic etc there?

Fires:

  1. Stale branch
  2. Wix edit me thingy

Show and tell: Monitoring using circuit breaker - https://gitlab.com/powr/powr_circuit_breaker/blob/master/config/all.json

how do we feel this week

  1. collisions
  2. Sharing test servers
  3. wario rooms
  4. public channels
  5. qa testing
  6. all things nice

May 23 - We are lumpy!

Praneeta Mhatre:

  1. unique labels on view - now true unique what Puru did to ensure that. rails model- validates_uniqueness_of :unique_label, allow_blank: true
  2. retrigger by new blank commit please
    • git commit --allow-empty

Ben / Pilar ? must get done aka golden tickets

  • expanded scope - bugs etc bring up with PM - communicate
  • standup - bring up if not started on
  • bring up issues earlier on - do not wait till mondaya before end of sprint

Follow-ups:

  • Rails 5 proceeding? - Testing party is today
  • React upgrade? blocked by rails upgrade
  • Node upgrade - powr - should we worry about outlet?
  • Staging/dev apps -
  • force rebase on git remote push

Fires: We keep forgetting to test logged out standalone

  1. unique labels null issue
  2. checking app_owner on app

Heroku maintenance

Show and tell: Ben's baller show and tell

how do we feel this week

  1. collisions
  2. Sharing test servers
  3. wario rooms
  4. public channels
  5. qa testing
  6. all things nice

May 16 - Praneeta's here…

Puru Dahal:

  1. Heroku dataclips

  2. URL parameters vs query strings parameters?

Ben Ross: Don’t put request specific logic on app view or other cached pages! Add on: Praneeta Mhatre: Please consider adding cache header and cloudflare caching when creating new static pages - eg /unlimited - come talk to me if you have questions on how

Joe Curlee: we need to upgrade node if we are running on an old version (lts is 10.x)

Brent Gummow:

  1. another discussion of weebly testing 🙂

  2. Is there a way to find all methods/functions that are not used in the code base and remove them? Response: Sergey Tyan: I think properly configured editor might help with that

Follow-ups:

  • Rails 5 proceeding? - Puru to calendar wednesday after lunch
  • React upgrade? blocked by rails upgrade
  • Node upgrade
  • Staging/dev apps -
  • force rebase on git remote push

Fires: none - yay!!!!

Show and tell: ???

how do we feel this week

  1. collisions
  2. Sharing test servers
  3. wario rooms
  4. public channels
  5. qa testing
  6. all things nice

May 9 - Praneeta's not here…

Ivan (via Praneeta: if ordering ever matters, its best to define the ordering instead of leaving it up to postgres

Aigul: How Aigul edits JSON in VSCode: https://www.loom.com/share/357095268d714f4e9470fc8c0b02fcbe ^^to change language or document format just press Command+SHIFT+P

Joe: potential solution to alpha / staging / release conflict madness

Puru: Duplicate env specific app_types with same names as production on different platforms and do not use aliases to avoid conflicts with QAing an App(Type). This also avoids the issue where two people cannot test different aliases at the same time on a platform.

Follow-ups:

  • remember to name ab test control groups as 'control'
  • Rails 5 proceeding?

Fires: none?

Show and tell: ???

how do we feel this week

  1. collisions
  2. Sharing test servers
  3. wario rooms
  4. public channels
  5. qa testing
  6. all things nice

May 2: - Some bad pun about Star Wars.

Agenda:

Praneeta Mhatre:

  1. Why to name “control” in an ab as “control”

Puru Dahal: How do we want to proceed with Rails 5 upgrade/QA process?

Brent Gummow: Create/Add/etc To table migrations - do a check for existence

class AddEndUserEmailsToSendToAppFormResponses < ActiveRecord::Migration
def change

if !ActiveRecord::Base.connection.column_exists?(:app_form_responses, :end_user_emails_to_send) add_column :app_form_responses, :end_user_emails_to_send, :integer, array: true end

  end
end

Follow ups:

Firesfromlastweek: POWr was down and we ran out of db connections Ivan Kho: Here’s what I think happened:

Heroku backs up our prod database at 2pm each day. The migration that added the columns seemed to cause a conflict with this and caused the table lock. I found this looking at our follower db, where I traced the lock on the table (see image), and the timing seems to match.

The reason why I was able to go in and add the table manually after was when we reset the db connections, it also killed the COPY command.

Puru shifted the backup to start running at 5PM PST so it won’t conflict with when we push migrations in the future.

Can discuss more during the engineering meeting.

Puru Dahal: Follow up on ☝️ Praneeta Mhatre: Added an alert on logentreis - will post in monitor

Our production database backup schedules Note: BROWN => Prod, BRONZE=> follower Before:-

HEROKU_POSTGRESQL_BRONZE_URL: daily at 16:00 America/Los_Angeles
HEROKU_POSTGRESQL_BROWN_URL: daily at 14:00 America/Los_Angeles

After:-

HEROKU_POSTGRESQL_BRONZE_URL: daily at 22:00 America/Los_Angeles
HEROKU_POSTGRESQL_BROWN_URL: daily at 17:00 America/Los_Angeles```


![](https://s3.amazonaws.com/dev.beautifulatlas.com/uploads/4170d06c-fdd5-4458-aa05-e3ace34173af/5196a70f-ec74-49c7-88c0-aff9f6b4990f/image.png)

**Show and tell**:
Praneeta: cached static pages

**how do we feel this week**
1. collisions
1. Sharing test servers
1. wario rooms
1. public channels
1. qa testing
1. all things nice