Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

agent,service: improve exception handling #844

Closed
wants to merge 7 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -4,5 +4,5 @@
],
"npmClient": "yarn",
"useWorkspaces": true,
"version": "0.20.23"
"version": "0.21.1"
}
11 changes: 10 additions & 1 deletion packages/indexer-agent/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.21.0] - 2024-01-10
### Changed
- Improve efficiency of batch action preparation
- Add falback if decimals() call to DAI contract fails

### Added
- Add tests for allocation decision consolidation

## [0.20.23] - 2023-09-29
### Added
- Subgraph Freshness check for Epoch and Network subgraphs
@@ -495,7 +503,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Update @graphprotocol/common-ts to 0.2.2

[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.20.23-rc.0...HEAD
[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.21.0...HEAD
[0.21.0]: https://github.com/graphprotocol/indexer/compare/v0.20.23...v0.21.0
[0.20.23]: https://github.com/graphprotocol/indexer/compare/v0.20.22...v0.20.23
[0.20.22]: https://github.com/graphprotocol/indexer/compare/v0.20.21...v0.20.22
[0.20.21]: https://github.com/graphprotocol/indexer/compare/v0.20.20...v0.20.21
4 changes: 2 additions & 2 deletions packages/indexer-agent/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphprotocol/indexer-agent",
"version": "0.20.23",
"version": "0.21.1",
"description": "Indexer agent",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -30,7 +30,7 @@
},
"dependencies": {
"@graphprotocol/common-ts": "2.0.9",
"@graphprotocol/indexer-common": "^0.20.23",
"@graphprotocol/indexer-common": "^0.21.1",
"@thi.ng/heaps": "^1.3.1",
"@uniswap/sdk": "3.0.3",
"axios": "0.26.1",
22 changes: 22 additions & 0 deletions packages/indexer-agent/src/index.ts
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@ import {
startMultiNetwork,
parseNetworkSpecifications,
} from './commands/start-multi-network'
import process from 'node:process'

const MULTINETWORK_MODE: boolean =
!!process.env.INDEXER_AGENT_MULTINETWORK_MODE &&
@@ -70,4 +71,25 @@ async function main(): Promise<void> {
await processArgumentsAndRun(args)
}

const exceptionLogger = createLogger({
name: 'IndexerAgent',
async: false,
})

process.on('uncaughtException', (reason, promise) => {
exceptionLogger.error('Uncaught exception', {
reason,
promise,
})
process.exit(1)
})

process.on('unhandledRejection', (reason, promise) => {
exceptionLogger.error('Unhandled rejection', {
reason,
promise,
})
process.exit(1)
})

void main()
4 changes: 2 additions & 2 deletions packages/indexer-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphprotocol/indexer-cli",
"version": "0.20.23",
"version": "0.21.1",
"description": "Indexer CLI for The Graph Network",
"main": "./dist/cli.js",
"files": [
@@ -27,7 +27,7 @@
},
"dependencies": {
"@graphprotocol/common-ts": "2.0.9",
"@graphprotocol/indexer-common": "^0.20.23",
"@graphprotocol/indexer-common": "^0.21.1",
"@iarna/toml": "2.2.5",
"@thi.ng/iterators": "5.1.74",
"@urql/core": "2.4.4",
7 changes: 6 additions & 1 deletion packages/indexer-common/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.21.0] - 2024-01-10
### Changed
- Reduce stringency of action validation when adding to queue

## [0.20.23] - 2023-09-29
### Fixed
- Reference SQL conflict targets when upserting `POIDisputes`.
@@ -278,7 +282,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Move indexing rule management here from `@graphprotocol/common-ts`

[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.20.23-rc.0...HEAD
[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.21.0...HEAD
[0.21.0]: https://github.com/graphprotocol/indexer/compare/v0.20.23...v0.21.0
[0.20.23]: https://github.com/graphprotocol/indexer/compare/v0.20.21...v0.20.23
[0.20.21]: https://github.com/graphprotocol/indexer/compare/v0.20.20...v0.20.21
[0.20.20]: https://github.com/graphprotocol/indexer/compare/v0.20.18...v0.20.20
2 changes: 1 addition & 1 deletion packages/indexer-common/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphprotocol/indexer-common",
"version": "0.20.23",
"version": "0.21.1",
"description": "Common library for Graph Protocol indexer components",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
2 changes: 1 addition & 1 deletion packages/indexer-native/lib/index.test.js
Original file line number Diff line number Diff line change
@@ -84,7 +84,7 @@ describe("Native Functions", () => {
() =>
new NativeAttestationSigner(
chainId,
"0xab",
"0xbad",
privateKey,
subgraphDeploymentID,
),
2 changes: 1 addition & 1 deletion packages/indexer-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphprotocol/indexer-native",
"version": "0.20.11",
"version": "0.21.1",
"description": "Performance sensitive indexer code",
"main": "./lib/index.js",
"types": "./lib/index.d.ts",
10 changes: 9 additions & 1 deletion packages/indexer-service/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.21.0] - 2024-01-10
### Changed
- Validate operator wallet on startup

### Added
- Add support for proxying graph-node version query

## [0.20.23] - 2023-09-29
### Changed
- Relax network subgraph validation during indexer-service startup
@@ -318,7 +325,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Update @graphprotocol/common-ts to 0.2.2

[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.20.23-rc.0...HEAD
[Unreleased]: https://github.com/graphprotocol/indexer/compare/v0.21.0...HEAD
[0.21.0]: https://github.com/graphprotocol/indexer/compare/v0.20.23...v0.21.0
[0.20.23]: https://github.com/graphprotocol/indexer/compare/v0.20.21...v0.20.23
[0.20.21]: https://github.com/graphprotocol/indexer/compare/v0.20.20...v0.20.21
[0.20.20]: https://github.com/graphprotocol/indexer/compare/v0.20.19...v0.20.20
6 changes: 3 additions & 3 deletions packages/indexer-service/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@graphprotocol/indexer-service",
"version": "0.20.23",
"version": "0.21.1",
"description": "Indexer service",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -33,8 +33,8 @@
"dependencies": {
"@google-cloud/profiler": "4.1.7",
"@graphprotocol/common-ts": "2.0.9",
"@graphprotocol/indexer-common": "^0.20.23",
"@graphprotocol/indexer-native": "0.20.11",
"@graphprotocol/indexer-common": "^0.21.1",
"@graphprotocol/indexer-native": "^0.21.1",
"@graphql-tools/load": "8.0.0",
"@graphql-tools/url-loader": "8.0.0",
"@graphql-tools/wrap": "10.0.1",
23 changes: 23 additions & 0 deletions packages/indexer-service/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
import process from 'process'
import * as yargs from 'yargs'

import start from './commands/start'
import { createLogger } from '@graphprotocol/common-ts'

yargs
.scriptName('indexer-service')
.env('INDEXER_SERVICE')
.command(start)
.demandCommand(1, 'Choose a command from the above list')
.help().argv

const exceptionLogger = createLogger({
name: 'IndexerService',
async: false,
})

process.on('uncaughtException', (reason, promise) => {
exceptionLogger.error('Uncaught exception', {
reason,
promise,
})
process.exit(1)
})

process.on('unhandledRejection', (reason, promise) => {
exceptionLogger.error('Unhandled rejection', {
reason,
promise,
})
process.exit(1)
})
274 changes: 37 additions & 237 deletions yarn.lock

Large diffs are not rendered by default.