text:
Error: [vite]: Rollup failed to resolve import "@segment/analytics-next"

When I used the main branch, I encountered similar errors. After checking the issues, I learned that I should use the dev branch, but errors still occurred. Below are the commands I executed
git clone -b DEV https://github.com/neo4j-labs/llm-graph-builder.git
cd llm-graph-builder
cp example.env .env
sudo docker-compose up --build

The error log is as follows:
 => ERROR [frontend build 7/7] RUN BACKEND_API_URL=http://localhost:8000     RE  18.8s
------
 > [frontend build 7/7] RUN BACKEND_API_URL=http://localhost:8000     REACT_APP_SOURCES=local,youtube,wiki,s3,web     LLM_MODELS=diffbot,openai-gpt-3.5,openai-gpt-4o     GOOGLE_CLIENT_ID=     BLOOM_URL=https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true}     TIME_PER_CHUNK=4     CHUNK_SIZE=5242880     ENV=DEV     LARGE_FILE_SIZE=5242880     CHAT_MODES=     yarn run build:
0.537 yarn run v1.22.22
0.575 $ tsc && vite build
8.181 vite v4.5.3 building for production...
8.225 transforming...
10.19
10.19 warn - The safelist pattern `/^(hover:)?n-text-(palette|dark|light|primary|danger|warning|success|blueberry|mint|neutral)-/` doesn't match any Tailwind CSS classes.
10.19 warn - Fix this pattern or remove it from your `safelist` configuration.
10.19 warn - https://tailwindcss.com/docs/content-configuration#safelisting-classes
10.19
10.19 warn - The safelist pattern `/^(hover:)?n-bg-(palette|dark|light|primary|danger|warning|success|blueberry|mint|neutral)-/` doesn't match any Tailwind CSS classes.
10.19 warn - Fix this pattern or remove it from your `safelist` configuration.
10.19 warn - https://tailwindcss.com/docs/content-configuration#safelisting-classes
10.19
10.19 warn - The safelist pattern `/^(active:)?n-bg-(palette|dark|light|primary|danger|warning|success|blueberry|mint|neutral)-/` doesn't match any Tailwind CSS classes.
10.19 warn - Fix this pattern or remove it from your `safelist` configuration.
10.19 warn - https://tailwindcss.com/docs/content-configuration#safelisting-classes
10.19
10.19 warn - The safelist pattern `/^(hover:)?n-border-(palette|dark|light|primary|danger|warning|success|blueberry|mint|neutral)-/` doesn't match any Tailwind CSS classes.
10.19 warn - Fix this pattern or remove it from your `safelist` configuration.
10.19 warn - https://tailwindcss.com/docs/content-configuration#safelisting-classes
18.61 ✓ 2696 modules transformed.
18.61 ✓ built in 10.43s
18.61 [vite]: Rollup failed to resolve import "@segment/analytics-next" from "/app/node_modules/@neo4j-nvl/base/dist/base.mjs".
18.61 This is most likely unintended because it can break your application at runtime.
18.61 If you do want to externalize this module explicitly add it to
18.61 `build.rollupOptions.external`
18.62 error during build:
18.62 Error: [vite]: Rollup failed to resolve import "@segment/analytics-next" from "/app/node_modules/@neo4j-nvl/base/dist/base.mjs".
18.62 This is most likely unintended because it can break your application at runtime.
18.62 If you do want to externalize this module explicitly add it to
18.62 `build.rollupOptions.external`
18.62     at viteWarn (file:///app/node_modules/vite/dist/node/chunks/dep-41cf5ffd.js:48216:27)
18.62     at onwarn (file:///app/node_modules/@vitejs/plugin-react/dist/index.mjs:266:9)
18.62     at onRollupWarning (file:///app/node_modules/vite/dist/node/chunks/dep-41cf5ffd.js:48245:9)
18.62     at onwarn (file:///app/node_modules/vite/dist/node/chunks/dep-41cf5ffd.js:47976:13)
18.62     at file:///app/node_modules/rollup/dist/es/shared/node-entry.js:24276:13
18.62     at Object.logger [as onLog] (file:///app/node_modules/rollup/dist/es/shared/node-entry.js:25950:9)
18.62     at ModuleLoader.handleInvalidResolvedId (file:///app/node_modules/rollup/dist/es/shared/node-entry.js:24862:26)
18.62     at file:///app/node_modules/rollup/dist/es/shared/node-entry.js:24822:26
18.71 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
18.71 error Command failed with exit code 1

failed to solve: process "/bin/sh -c BACKEND_API_URL=$BACKEND_API_URL     REACT_APP_SOURCES=$REACT_APP_SOURCES     LLM_MODELS=$LLM_MODELS     GOOGLE_CLIENT_ID=$GOOGLE_CLIENT_ID     BLOOM_URL=$BLOOM_URL     TIME_PER_CHUNK=$TIME_PER_CHUNK     CHUNK_SIZE=$CHUNK_SIZE     ENV=$ENV     LARGE_FILE_SIZE=${LARGE_FILE_SIZE}     CHAT_MODES=$CHAT_MODES     yarn run build" did not complete successfully: exit code: 1

Hi @lissettecarlr thanks for pointing out we will try to replicate.

we informed nvl team they are at this

Achieve a temporary fix by making these changes:
frontend/package.json
    "@neo4j-nvl/base": "0.3.1", # Removed '^'
    "@neo4j-nvl/react": "0.3.1", # Removed '^'

frontend/Dockerfile
WORKDIR /app
COPY package.json yarn.lock ./
# RUN yarn add @neo4j-nvl/base @neo4j-nvl/react # Remove or comment this line
RUN yan cache clean # Don't know if this is needed, but added anyway
RUN yarn install
COPY . ./

Hi @elheremes Did you get any type errors after you tried docker-compose

Hi @elheremes Did you get any type errors after you tried docker-compose

No errors after these changes.

@elheremes Your node version?

@elheremes which node version you are using?

I'm pretty certain its node:20, didn't change any of that. Going to post the entire content of the Dockerfile and package.json I'm using:
package.json
{
  "name": "neo4j-needle-starterkit",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite --host 0.0.0.0",
    "build": "tsc && vite build",
    "format": "prettier --write \"**/*.{ts,tsx}\"",
    "lint": "eslint --ext .ts --ext .tsx . --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "@emotion/styled": "^11.11.0",
    "@mui/material": "^5.15.10",
    "@mui/styled-engine": "^5.15.9",
    "@neo4j-devtools/word-color": "^0.0.8",
    "@neo4j-ndl/base": "^2.11.6",
    "@neo4j-ndl/react": "^2.15.10",
    "@neo4j-nvl/base": "0.3.1",
    "@neo4j-nvl/react": "0.3.1",
    "@react-oauth/google": "^0.12.1",
    "@types/uuid": "^9.0.7",
    "axios": "^1.6.5",
    "clsx": "^2.1.1",
    "eslint-plugin-react": "^7.33.2",
    "neo4j-driver": "^5.14.0",
    "re-resizable": "^6.9.16",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-icons": "^5.2.1",
    "react-markdown": "^9.0.1",
    "react-router": "^6.23.1",
    "react-router-dom": "^6.23.1",
    "remark-gfm": "^4.0.0",
    "tailwind-merge": "^2.3.0",
    "uuid": "^9.0.1"
  },
  "devDependencies": {
    "@types/node": "^20.11.10",
    "@types/react": "^18.2.15",
    "@types/react-dom": "^18.2.7",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "@vitejs/plugin-react": "^4.0.3",
    "autoprefixer": "^10.4.17",
    "eslint": "^8.45.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.3",
    "postcss": "^8.4.33",
    "prettier": "^2.7.1",
    "react-dropzone": "^14.2.3",
    "tailwindcss": "^3.4.1",
    "typescript": "^5.0.2",
    "vite": "^4.5.3"
  }
}

Dockerfile
# Step 1: Build the React application
FROM node:20 AS build

ARG BACKEND_API_URL="http://localhost:8000"
ARG REACT_APP_SOURCES=""
ARG LLM_MODELS=""
ARG GOOGLE_CLIENT_ID=""
ARG BLOOM_URL="https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true"
ARG TIME_PER_CHUNK=4
ARG TIME_PER_PAGE=50
ARG LARGE_FILE_SIZE=5242880
ARG CHUNK_SIZE=5242880
ARG CHAT_MODES=""
ARG ENV="DEV"

WORKDIR /app
COPY package.json yarn.lock ./
# RUN yarn add @neo4j-nvl/base @neo4j-nvl/react
RUN yarn cache clean
RUN yarn install
COPY . ./
RUN BACKEND_API_URL=$BACKEND_API_URL \
    REACT_APP_SOURCES=$REACT_APP_SOURCES \
    LLM_MODELS=$LLM_MODELS \
    GOOGLE_CLIENT_ID=$GOOGLE_CLIENT_ID \
    BLOOM_URL=$BLOOM_URL \
    TIME_PER_CHUNK=$TIME_PER_CHUNK \
    CHUNK_SIZE=$CHUNK_SIZE \
    ENV=$ENV \
    LARGE_FILE_SIZE=${LARGE_FILE_SIZE} \
    CHAT_MODES=$CHAT_MODES \
    yarn run build

# Step 2: Serve the application using Nginx
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]

Sorry if I'm not responding clearly, I don't have much experience using docker environments.

Thanks for the help，I tried modifying frontend/package.json and frontend/Dockerfile, but the error message during the build remained unchanged.
vim frontend/package.json

"@neo4j-nvl/base": "^0.3.2"   ->  "@neo4j-nvl/base": "^0.3.1",
"@neo4j-nvl/react": "^0.3.2", ->  "@neo4j-nvl/base": "^0.3.1",

and
vim frontend/Dockerfile

# Step 1: Build the React application
FROM node:20 AS build

ARG BACKEND_API_URL="http://localhost:8000"
ARG REACT_APP_SOURCES=""
ARG LLM_MODELS=""
ARG GOOGLE_CLIENT_ID=""
ARG BLOOM_URL="https://workspace-preview.neo4j.io/workspace/explore?connectURL={CONNECT_URL}&search=Show+me+a+graph&featureGenAISuggestions=true&featureGenAISuggestionsInternal=true"
ARG TIME_PER_CHUNK=4
ARG TIME_PER_PAGE=50
ARG LARGE_FILE_SIZE=5242880
ARG CHUNK_SIZE=5242880
ARG CHAT_MODES=""
ARG ENV="DEV"

WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn cache clean :q
RUN yarn install
COPY . ./

RUN BACKEND_API_URL=$BACKEND_API_URL \
    REACT_APP_SOURCES=$REACT_APP_SOURCES \
    LLM_MODELS=$LLM_MODELS \
    GOOGLE_CLIENT_ID=$GOOGLE_CLIENT_ID \
    BLOOM_URL=$BLOOM_URL \
    TIME_PER_CHUNK=$TIME_PER_CHUNK \
    CHUNK_SIZE=$CHUNK_SIZE \
    ENV=$ENV \
    LARGE_FILE_SIZE=${LARGE_FILE_SIZE} \
    CHAT_MODES=$CHAT_MODES \
    yarn run build

# Step 2: Serve the application using Nginx
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]

I only modified these two places above, then compiled, and the error log was exactly the same as before.

Hi @lissettecarlr and @elheremes
As temporary fix add nvl packages in resolutions in package.json and remove
yarn add @neo4j-nvl/base @neo4j-nvl/react
from frontend docker
For the references check Branch
EX:
  "resolutions": {
    "@neo4j-nvl/base": "0.3.1",
    "@neo4j-nvl/react":"0.3.1"
  }

I used the new branch: origin/Concurrent-Processing-of-files, and successfully deployed it with Docker.
Thanks~

I used the new branch: origin/Concurrent-Processing-of-files, and successfully deployed it with Docker. Thanks~

can confirm. default branch docker will not build. new branch builds without error

Yes DEV version is updated with these changes

Hi, I updated my package.json with the one in DEV branch but keep having same problem, I did clean install remove cache etc, is there anything else that require changes?

Hey @maxlawdify NVL team released the 0.3.3 version they resolved all the issues. refer to the DEV branch package.json and vite.config.ts for successfully building the project.

authors: edferr elheremes kartikpersistent lissettecarlr maxlawdify


text:
Add a optional packages property for packages to scan for sessionfactory

var sessionFactoryRuntimeValue = recorder
.initializeSessionFactory(driverBuildItem.getValue(), shutdownContext, ogmProperties, allPackages);
In Neo4jOgmProcessor currently scans all packages.
I could not get it work and i started to add lots of dependencies so that i can compile.
// Neo4j scan packages missing dependency
implementation("org.conscrypt:conscrypt-openjdk:2.5.2:osx-x86_64")
implementation("com.github.luben:zstd-jni:1.5.2-5")
testImplementation("org.codehaus.jettison:jettison:1.5.3")
testImplementation("io.mockk:mockk-agent-jvm:1.13.2")
// https://mvnrepository.com/artifact/nu.xom/com.springsource.nu.xom
testImplementation("nu.xom:com.springsource.nu.xom:1.2.5")
// https://mvnrepository.com/artifact/org.osgi/org.osgi.framework
testImplementation("org.osgi:org.osgi.framework:1.10.0")
// https://mvnrepository.com/artifact/org.osgi/org.osgi.dto
testImplementation("org.osgi:org.osgi.dto:1.1.1")
// https://mvnrepository.com/artifact/io.vertx/vertx-auth-common
testImplementation("io.vertx:vertx-auth-common:4.3.6")
// https://mvnrepository.com/artifact/io.vertx/vertx-auth-otp
testImplementation("io.vertx:vertx-auth-otp:4.3.6")
// https://mvnrepository.com/artifact/net.java.dev.jna/jna
testImplementation("net.java.dev.jna:jna:5.13.0")

We don't bring in those dependencies.
We offer org.neo4j.ogm.base-packages as Quarkus configuration property for that exact purpose. See the readme.

source: gharchive/issue

authors: dicksonprof michael-simons

license_type: permissive

license_source: github-api


text:
Filter should have a constructor that has a BooleanOperator parameter

Expected Behavior
Users should be able to instantiate filters with boolean operators in one line.
For example, perhaps something like:
Filter filter = new Filter(BooleanOperator.AND, "someProperty", ComparsionOperator.EQUALS, "foo");

Current Behavior
Boolean Operator has to be set after creation:
Filter filter = new Filter("someProperty", ComparsionOperator.EQUALS, "foo");
filter.setBooleanOperator(BooleanOperator.AND);

Possible Solutions

An additional constructor could be added.
Could put a FilterBuilder class alongside it.
Filters could have methods like and(Filter filter) and or(Filter filter) that append filters to the list while setting the boolean operator property on them.

Thanks for creating this feature request. We already had a look at this and we will probably go with the third suggestion and add basic chaining for filter concatenations.

authors: josephtaylor meistermeier


text:
:bug: Exports clash with package names

For example, if I wanted to import the @middleware decorator, I'd do:
from neoclient import middleware

and if I wanted to import the middleware sub-package, I'd do:
from neoclient import middleware

... oh.
This also affects service and a few others.

Perhaps the answer to this is:
from neoclient.decorators import middleware

and
from neoclient import middleware

I think some of the core decorators should be exposed from the root __init__.py, e.g. @get

Relates to #120

Conflicts:

@middleware conflicts with .middleware
@service conflicts with .service
param_functions.Request conflicts with params.Request (todo)
param_functions.Response conflicts with params.Response (todo)

repo: neoclient/neoclient

license: MIT


text:
Extract features tqin

functime/feature_extraction/tq_feature_extractions.py
permutation_entropy: done
query_similarity_count: done, but not sure if this is correct... I think we agreed this one is sort of useless and can be ignored
range_count: done
ratio_beyond_r_sigma: done
ratio_value_number_to_length (ratio_n_unique_to_length): done
root_mean_square: done
sample_entropy: done (only for pl.Series)
spkt_welch_density: not done. Will need scipy

Copied into main

source: gharchive/pull-request

authors: abstractqqq topher-lo

repo: neocortexdb/functime


text:
Updates logo

Replaces the neoforgeteam with the new banner and uses the new logo, also converted into .svg format

Please close this pull request, since, this commit has made in a previous pull request.

Superseded by #4.

authors: DataDalton UltimatChamp sciwhiz12

repo: neoforged/websites


text:
Rust: doesn't seem to parse some errors

Using :Neomake cargo in a rust library project.
When running cargo build I get these warnings and errors (omitting similar errors):
warning: doc comment not used by rustdoc
   --> src/err.rs:2:1
    |
2   | / error_chain! {
3   | |     // The type defined for this error. These are the conventional
4   | |     // and recommended names, but they can be arbitrarily chosen.
5   | |     // It is also possible to leave this block out entirely, or
...   |
119 | |     }
120 | | }
    | |_^
    |
    = note: #[warn(unused_doc_comment)] on by default
    = note: this error originates in a macro outside of the current crate

warning: doc comment not used by rustdoc
   --> src/err.rs:2:1
    |
2   | / error_chain! {
3   | |     // The type defined for this error. These are the conventional
4   | |     // and recommended names, but they can be arbitrarily chosen.
5   | |     // It is also possible to leave this block out entirely, or
...   |
119 | |     }
120 | | }
    | |_^
    |
    = note: this error originates in a macro outside of the current crate

error[E0119]: conflicting implementations of trait `object::Object` for type `types::Rect`:
   --> src/types.rs:383:1
    |
366 | / impl Object for Rect {
367 | |     fn serialize<W: io::Write>(&self, out: &mut W) -> io::Result<()> {
368 | |         unimplemented!();
369 | |     }
...   |
381 | |     }
382 | | }
    | |_- first implementation here
383 | / impl Object for Rect {
384 | |     fn serialize<W: io::Write>(&self, out: &mut W) -> io::Result<()> {
385 | |         write!(out, "[{} {} {} {}]", self.left, self.top, self.right, self.bottom)
386 | |     }
387 | | }
    | |_^ conflicting implementation for `types::Rect`

error: aborting due to 7 previous errors

In locationlist, only the warnings show up, not the errors. Other errors that I had earlier all showed up.

Actually, this seems to be the case for many errors. Is it possible that this only happens when the output of cargo build starts with warnings?
Btw, rustc version: rustc 1.21.0-nightly (7eeac1b81 2017-08-30).

More strange behaviour: this
error[E0061]: this function takes 1 parameter but 0 parameters were supplied
   --> stream.rs:49:24
    |
49  |           let stream = p.as_stream()?;
    |                          ^^^^^^^^^ expected 1 parameter
    |
   ::: primitive.rs
    |
233 | /     pub fn as_stream(self, r: &Resolve) -> Result<Stream> {
234 | |         match self {
235 | |             Primitive::Stream (s) => Ok(s),
236 | |             Primitive::Reference (id) => r.resolve(id)?.as_stream(r),
237 | |             p => unexpected_primitive!(Stream, p.get_debug_name())
238 | |         }
239 | |     }
    | |_____- defined here

error[E0061]: this function takes 1 parameter but 0 parameters were supplied
   --> file.rs:301:24
    |
301 |           let stream = p.as_stream()?;
    |                          ^^^^^^^^^ expected 1 parameter
    |
   ::: primitive.rs
    |
233 | /     pub fn as_stream(self, r: &Resolve) -> Result<Stream> {
234 | |         match self {
235 | |             Primitive::Stream (s) => Ok(s),
236 | |             Primitive::Reference (id) => r.resolve(id)?.as_stream(r),
237 | |             p => unexpected_primitive!(Stream, p.get_debug_name())
238 | |         }
239 | |     }
    | |_____- defined here

Is interpreted as
primitive.rs|233 col 5 error  49| this function takes 1 parameter but 0 parameters were supplied: defined here
primitive.rs|233 col 5 error  49| this function takes 1 parameter but 0 parameters were supplied: defined here

Sorry, where should --message-format=json --quiet go? nvim doesn't recognize it.

@Ploppz
you are calling cargo manually, aren't you?
(i.e. you should use the same call as from Neomake's log (`:let g:neomake_logfile = '/tmp/neomake.log').

Ah for cargo. Ok; I don't have the same errors anymore but I provoked some errors and warnings:
$ cargo build
   Compiling pdf v0.6.1 (file:///home/ploppz/work/rust/pdf-rs/pdf)
error: expected one of `.`, `;`, `?`, `}`, or an operator, found `n`
   --> primitive.rs:263:9
    |
262 |         .map(|s| str::parse::<T>(s).unwrap_or(default.clone()))
    |                                                                - expected one of `.`, `;`, `?`, `}`, or an operator here
263 |         n
    |         ^ unexpected token

warning: doc comment not used by rustdoc
   --> err.rs:2:1
    |
2   | / error_chain! {
3   | |     // The type defined for this error. These are the conventional
4   | |     // and recommended names, but they can be arbitrarily chosen.
5   | |     // It is also possible to leave this block out entirely, or
...   |
119 | |     }
120 | | }
    | |_^
    |
    = note: #[warn(unused_doc_comment)] on by default
    = note: this error originates in a macro outside of the current crate

warning: doc comment not used by rustdoc
   --> err.rs:2:1
    |
2   | / error_chain! {
3   | |     // The type defined for this error. These are the conventional
4   | |     // and recommended names, but they can be arbitrarily chosen.
5   | |     // It is also possible to leave this block out entirely, or
...   |
119 | |     }
120 | | }
    | |_^
    |
    = note: this error originates in a macro outside of the current crate

error[E0308]: mismatched types
   --> primitive.rs:261:5
    |
260 |   fn parse_or<T: str::FromStr + Clone>(buffer: &str, range: Range<usize>, default: T) -> T {
    |                                                                                - expected `T` because of return type
261 | /     buffer.get(range)
262 | |         .map(|s| str::parse::<T>(s).unwrap_or(default.clone()))
    | |_______________________________________________________________^ expected type parameter, found enum `std::option::Option`
    |
    = note: expected type `T`
               found type `std::option::Option<T>`

error: aborting due to 2 previous errors

What shows up in locationlist is only this:
primitive.rs|262 col 64 error| expected one of `.`, `;`, `?`, `}`, or an operator, found `n`: expected one of `.`, `;`, `?`, `}`, or an operator here`.

Json format:
$ cargo build --message-format=json --quiet
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libeither-ab8b9530c8d5f5e0.rlib"],"fresh":true,"package_id":"either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"either","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/either-1.1.0/src/lib.rs"}}
{"features":["default","raii_no_panic"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/liblzw-bc14a78a5be3e71e.rlib"],"fresh":true,"package_id":"lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"lzw","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/lzw-0.10.0/src/lib.rs"}}
{"features":["backtrace-sys","coresymbolication","dbghelp","dbghelp-sys","default","dladdr","kernel32-sys","libbacktrace","libunwind","winapi"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/build/backtrace-02141e6c6c3b1bde/build-script-build"],"fresh":true,"package_id":"backtrace 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["bin"],"kind":["custom-build"],"name":"build-script-build","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.0/build.rs"}}
{"features":["default"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libunicode_xid-e1ff10408bf67aab.rlib"],"fresh":true,"package_id":"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"unicode-xid","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.0.4/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libwinapi-0e647ff5dcc3159e.rlib"],"fresh":true,"package_id":"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"winapi","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-0.2.8/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libquote-7ad87c417e4b72ad.rlib"],"fresh":true,"package_id":"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"quote","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/quote-0.3.15/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libansi_term-2b3ad8041f0cd689.rlib"],"fresh":true,"package_id":"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"ansi_term","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/ansi_term-0.9.0/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libglob-70a17fc57ce3960c.rlib"],"fresh":true,"package_id":"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"glob","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/glob-0.2.11/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libordermap-afbc6f4ddb1b1925.rlib"],"fresh":true,"package_id":"ordermap 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"ordermap","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/ordermap-0.2.9/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_tests-cdbbd1cc68b272d6.rlib"],"fresh":true,"package_id":"encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_tests","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding_index_tests-0.1.4/index_tests.rs"}}
{"features":["default"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libinflate-e20d6dbd40d5908d.rlib"],"fresh":true,"package_id":"inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"inflate","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/inflate-0.1.1/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/librustc_demangle-f7a65adf00b8c714.rlib"],"fresh":true,"package_id":"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"rustc-demangle","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-demangle-0.1.4/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libgcc-e23806c21254bf75.rlib"],"fresh":true,"package_id":"gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"gcc","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/gcc-0.3.45/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libbuild-da0207542c85a072.rlib"],"fresh":true,"package_id":"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"build","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-build-0.1.1/src/lib.rs"}}
{"features":["default","use_std"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/liblibc-73cf436c4623c7f6.rlib"],"fresh":true,"package_id":"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"libc","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.21/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libnum_traits-0a21dc519bf1dee9.rlib"],"fresh":true,"package_id":"num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"num-traits","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.1.37/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libcfg_if-f09281b1f06ea277.rlib"],"fresh":true,"package_id":"cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"cfg-if","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.0/src/lib.rs"}}
{"features":["default","std"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libbyteorder-e66d99a9968a95eb.rlib"],"fresh":true,"package_id":"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"byteorder","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/byteorder-1.0.0/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libitertools-a841b67f104f5be5.rlib"],"fresh":true,"package_id":"itertools 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"itertools","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.6.0/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libsynom-d7fddb00a2fac064.rlib"],"fresh":true,"package_id":"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"synom","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/synom-0.11.3/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_japanese-c7ae59d46de36ed2.rlib"],"fresh":true,"package_id":"encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_japanese","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-japanese-1.20141219.5/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_singlebyte-868094d3311c6bf7.rlib"],"fresh":true,"package_id":"encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_singlebyte","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-singlebyte-1.20141219.5/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_tradchinese-924fc04055441ea9.rlib"],"fresh":true,"package_id":"encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_tradchinese","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-tradchinese-1.20141219.5/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_korean-850cf012c74f58cd.rlib"],"fresh":true,"package_id":"encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_korean","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-korean-1.20141219.5/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding_index_simpchinese-6ffdd5c7702e6807.rlib"],"fresh":true,"package_id":"encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding_index_simpchinese","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-simpchinese-1.20141219.5/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/build/backtrace-sys-c28e7fd7bf9e0c8e/build-script-build"],"fresh":true,"package_id":"backtrace-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["bin"],"kind":["custom-build"],"name":"build-script-build","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-sys-0.1.10/build.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/build/dbghelp-sys-8c22e24a94037086/build-script-build"],"fresh":true,"package_id":"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["bin"],"kind":["custom-build"],"name":"build-script-build","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/dbghelp-sys-0.2.0/build.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/build/kernel32-sys-ad57b17b9755d4cc/build-script-build"],"fresh":true,"package_id":"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["bin"],"kind":["custom-build"],"name":"build-script-build","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/kernel32-sys-0.2.2/build.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libmemmap-a2fd3d53d8320ace.rlib"],"fresh":true,"package_id":"memmap 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"memmap","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/memmap-0.5.2/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libtime-f41fa5899e8f406f.rlib"],"fresh":true,"package_id":"time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"time","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/time-0.1.38/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libisatty-de664f1dd70a638e.rlib"],"fresh":true,"package_id":"isatty 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"isatty","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/isatty-0.1.3/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libnum_integer-7eb1811d1646b753.rlib"],"fresh":true,"package_id":"num-integer 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"num-integer","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/num-integer-0.1.35/src/lib.rs"}}
{"features":["default","impl_num","num-traits"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libtuple-74d316ef8c66cfb3.rlib"],"fresh":true,"package_id":"tuple 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"tuple","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/tuple-0.1.7/src/lib.rs"}}
{"features":["default","parsing","printing","quote","synom","unicode-xid"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libsyn-8a0173ea0fe5176a.rlib"],"fresh":true,"package_id":"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"syn","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.11.11/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding-54d55bde4d1b567b.rlib"],"fresh":true,"package_id":"encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"encoding","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-0.2.33/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libnum_iter-4290a1d24f987f4f.rlib"],"fresh":true,"package_id":"num-iter 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"num-iter","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/num-iter-0.1.34/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libpdf_derive-315356af1f919df3.so"],"fresh":true,"package_id":"pdf_derive 0.1.15 (git+https://github.com/pdf-rs/pdf_derive.git#19bff651ca1833037be11b93ddde4c41f207e8d9)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["proc-macro"],"kind":["proc-macro"],"name":"pdf_derive","src_path":"/home/ploppz/.cargo/git/checkouts/pdf_derive-8fe18d4733dc3336/19bff65/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libbacktrace_sys-2de3f153577f92ae.rlib"],"fresh":true,"package_id":"backtrace-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"backtrace-sys","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-sys-0.1.10/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libdbghelp-b5719c42cb9a321b.rlib"],"fresh":true,"package_id":"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"dbghelp","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/dbghelp-sys-0.2.0/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libkernel32-6fa710e8bcf5d7c3.rlib"],"fresh":true,"package_id":"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"kernel32","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/kernel32-sys-0.2.2/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libnum-9b64568685eeb17b.rlib"],"fresh":true,"package_id":"num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"num","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/num-0.1.37/src/lib.rs"}}
{"features":["backtrace-sys","coresymbolication","dbghelp","dbghelp-sys","default","dladdr","kernel32-sys","libbacktrace","libunwind","winapi"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libbacktrace-6988be8bd6cdbf2e.rlib"],"fresh":true,"package_id":"backtrace 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"backtrace","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.0/src/lib.rs"}}
{"features":[],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libchrono-4b2830b978b0aa5b.rlib"],"fresh":true,"package_id":"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"chrono","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.0/src/lib.rs"}}
{"features":["backtrace","default","example_generated"],"filenames":["/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/liberror_chain-2c3cddf451847f41.rlib"],"fresh":true,"package_id":"error-chain 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)","profile":{"debug_assertions":true,"debuginfo":2,"opt_level":"0","overflow_checks":true,"test":false},"reason":"compiler-artifact","target":{"crate_types":["lib"],"kind":["lib"],"name":"error-chain","src_path":"/home/ploppz/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.9.0/src/lib.rs"}}
{"message":{"children":[],"code":null,"level":"error","message":"expected one of `.`, `;`, `?`, `}`, or an operator, found `n`","rendered":null,"spans":[{"byte_end":7699,"byte_start":7699,"column_end":64,"column_start":64,"expansion":null,"file_name":"primitive.rs","is_primary":false,"label":"expected one of `.`, `;`, `?`, `}`, or an operator here","line_end":262,"line_start":262,"suggested_replacement":null,"text":[{"highlight_end":64,"highlight_start":64,"text":"        .map(|s| str::parse::<T>(s).unwrap_or(default.clone()))"}]},{"byte_end":7709,"byte_start":7708,"column_end":10,"column_start":9,"expansion":null,"file_name":"primitive.rs","is_primary":true,"label":"unexpected token","line_end":263,"line_start":263,"suggested_replacement":null,"text":[{"highlight_end":10,"highlight_start":9,"text":"        n"}]}]},"package_id":"pdf 0.6.1 (path+file:///home/ploppz/work/rust/pdf-rs/pdf)","reason":"compiler-message","target":{"crate_types":["lib"],"kind":["lib"],"name":"pdf","src_path":"/home/ploppz/work/rust/pdf-rs/pdf/src/lib.rs"}}

Caused by:
  process didn't exit successfully: `rustc --crate-name pdf lib.rs --error-format json --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=085ac98565f65184 -C extra-filename=-085ac98565f65184 --out-dir /home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps -L dependency=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps --extern ordermap=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libordermap-afbc6f4ddb1b1925.rlib --extern itertools=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libitertools-a841b67f104f5be5.rlib --extern chrono=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libchrono-4b2830b978b0aa5b.rlib --extern isatty=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libisatty-de664f1dd70a638e.rlib --extern tuple=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libtuple-74d316ef8c66cfb3.rlib --extern error_chain=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/liberror_chain-2c3cddf451847f41.rlib --extern inflate=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libinflate-e20d6dbd40d5908d.rlib --extern byteorder=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libbyteorder-e66d99a9968a95eb.rlib --extern encoding=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libencoding-54d55bde4d1b567b.rlib --extern lzw=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/liblzw-bc14a78a5be3e71e.rlib --extern memmap=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libmemmap-a2fd3d53d8320ace.rlib --extern pdf_derive=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libpdf_derive-315356af1f919df3.so --extern ansi_term=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libansi_term-2b3ad8041f0cd689.rlib --extern num_traits=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libnum_traits-0a21dc519bf1dee9.rlib --extern glob=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/deps/libglob-70a17fc57ce3960c.rlib -Zincremental=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/incremental -C target-cpu=native -L native=/home/ploppz/work/rust/pdf-rs/pdf/target/debug/build/backtrace-sys-6e74b200db75dd3f/out/.libs` (exit code: 101)

Thanks, that should be a good test case.
@JelteF
Can you look into this, please?

Note: having errorformat on the maker is confusing (it is not used); see https://github.com/neomake/neomake/pull/1553.

After all it seems like only one message is included in the JSON output?!

authors: Ploppz blueyed

repo: neomake/neomake


text:
neonvm: Refactor runner pod cgroup cpu scaling

Move cgroup updates to VmScaling phase. Rewrote updating CPU status in VmRunning phase based on the values from cgroups and qemu.
Fixes https://github.com/neondatabase/autoscaling/issues/462

LGTM

authors: cicdteam shayanh

repo: neondatabase/autoscaling


text:
neonvm-runner-image-loader: Faster rollout

Specifically, this PR sets maxUnavailable = 3, which allows updating up to 3 copies in parallel.
An issue we see during rollout is that it often takes 30+ seconds to create a new neonvm-runner-image-loader on a node, and doing this for many nodes takes an unreasonable amount of time. This improves that.

@sharnoff
why it hardcoded to 3 ? maxUnavalable and maxSurge could be percentage, like
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 100%
      maxSurge: 100%

if we have 10 pods then on rollout 10 old pods will be stopped and 10 new pods will be stared at the moment.

why it hardcoded to 3 ?

Yeah, I considered making it a percentage, but I'm not sure if doing a simultaneous image pull cluster-wide could potentially cause issues, so better to be safe.
If you think it's definitely ok, I'll bump it higher, if +1 from @Omrigan.

why it hardcoded to 3 ?

Yeah, I considered making it a percentage, but I'm not sure if doing a simultaneous image pull cluster-wide could potentially cause issues, so better to be safe.
If you think it's definitely ok, I'll bump it higher, if +1 from @Omrigan.

I don't see the reason why 100% could failt

Fair enough, went with 100%

After trying it out, 100% was definitely the right move :)

authors: Omrigan cicdteam sharnoff


text:
test_wal_acceptor_async.py::test_restarts_under_load  fails in CI

First failure:
https://github.com/neondatabase/neon/runs/7020122796?check_suite_focus=true
Most recent failure is
https://github.com/neondatabase/neon/runs/7040698735?check_suite_focus=true

I reproduced it locally, it seems that new etcd walreceiver connection logic has some issues. This issue is likely appeared after https://github.com/neondatabase/neon/pull/1937
Logs from my local run: https://gist.github.com/petuhovskiy/47ebb450830482609c270a4ab7e720b8
Pay attention to test.log, it explains all safekeepers restarts to understand which safekeepers should be ready for connections.
What is going not well, judging by the pageserver logs:
Changed connection when shouldn't
At 2022-06-24T12:22:12.523952Z we killed sk-1, pageserver detected that and reconnected to the sk-2 – this is ok.
At 2022-06-24T12:22:14.605800Z nothing has changed, both sk-2 and sk-3 are alive and working well, but pageserver dropped connection to sk-2 and decided to reconnect to sk-3 – this is not ok, there is no point in doing that, should be fixed.
2022-06-24T12:22:12.523952Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}:safekeeper_handle_db: Connection closed regularly: connection closed
2022-06-24T12:22:12.524662Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: connection closed
2022-06-24T12:22:13.560974Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(2), wal_producer_connstr: "host=127.0.0.1 port=15007 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:13.561229Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15007 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:13.563821Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}:safekeeper_handle_db: connected!
2022-06-24T12:22:13.564235Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: IdentifySystem { systemid: 7112780774226409973, timeline: 1, xlogpos: 0/16DAF10, dbname: None }
2022-06-24T12:22:13.564430Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: last_record_lsn 0/16D6E70 starting replication from 0/16D6E70, server is at 0/16DAF10...
2022-06-24T12:22:13.570150Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: caught up at LSN 0/16DAF10
2022-06-24T12:22:13.614880Z  INFO GET /v1/tenant/dd694b566f414d29b4e207b00964fa72/timeline/5cab7c64fc37ffa4aab8dc541bbac339 200 OK
2022-06-24T12:22:14.605800Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: LaggingWal { current_lsn: 0/1783C70, new_lsn: 0/1789720, threshold: 10000 } }
2022-06-24T12:22:14.617749Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}:safekeeper_handle_db: Connection cancelled
2022-06-24T12:22:14.618645Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:14.621764Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}:safekeeper_handle_db: connected!
2022-06-24T12:22:14.622252Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: IdentifySystem { systemid: 7112780774226409973, timeline: 1, xlogpos: 0/178B578, dbname: None }
2022-06-24T12:22:14.622470Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: last_record_lsn 0/1751C70 starting replication from 0/1751C70, server is at 0/178B578...
2022-06-24T12:22:15.097136Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: caught up at LSN 0/178C280

After that the same happens several more times:

At 2022-06-24T12:22:15.570017Z pageserver dropped connection to sk-3 and reconnected to sk-2
At 2022-06-24T12:22:16.612473Z pageserver dropped connection to sk-2 and reconnected to sk-3

Trying to connect to dead safekeeper
After several more iterations, roughly at 2022-06-24 12:22:56.411, we started sk-2 and stopped sk-3. After that connection to sk-3 broke, but pageserver still tries to connect to sk-3 many times (unsuccessfully):
2022-06-24T12:22:56.467174Z  WARN walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}:safekeeper_handle_db: Connection aborted: error communicating with the server: Broken pipe (os error 32)
2022-06-24T12:22:56.470368Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: connection closed
2022-06-24T12:22:56.470514Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.470650Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.471057Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.471189Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.471313Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.471683Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.471816Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.471940Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.472269Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.472399Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.472523Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.472857Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.473006Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.473129Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.473607Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.473743Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.473868Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'
2022-06-24T12:22:56.474235Z  WARN wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-06-24T12:22:56.474388Z  INFO wal_connection_manager{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_producer_connstr: "host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'", reason: NoExistingConnection }
2022-06-24T12:22:56.474512Z  INFO walreceiver_connection{id=dd694b566f414d29b4e207b00964fa72/5cab7c64fc37ffa4aab8dc541bbac339}: connecting to host=127.0.0.1 port=15009 options='-c ztimelineid=5cab7c64fc37ffa4aab8dc541bbac339 ztenantid=dd694b566f414d29b4e207b00964fa72'

The two issues here:

pageserver doesn't switch connection to other safekeepers
reconnection to the same safekeeper is very often, probably worth adding exponential backoff in case we don't switch safekeeper

I haven't looked at the https://github.com/neondatabase/neon/pull/1937 in details yet, will try to find issues in its code now.
cc @SomeoneToIgnore

Thank you for the detailed explanation and looking into this generally.

At 2022-06-24T12:22:14.605800Z nothing has changed, both sk-2 and sk-3 are alive and working well, but pageserver dropped connection to sk-2 and decided to reconnect to sk-3 – this is not ok, there is no point in doing that, should be fixed.

This reconnect should be fixed by the bigger WAL threshold, presumably? The log mention why did we reconnect in this case:

reason: LaggingWal { current_lsn: 0/1783C70, new_lsn: 0/1789720, threshold: 10000 } }

what would be a reasonable value for such?
The latter issue is indeed a bug, I can work on fixing that.

repo: neondatabase/neon


text:
neon_local: allow rr recordings via env var

record as in 'rr record $cmd' for later playback. configured via NEON_LOCAL_RECORD_COMMANDS environment variable, for example:
NEON_LOCAL_RECORD_COMMANDS=pageserver ./scripts/pytest \
  test_runner/regress/test_gc_aggressive.py

will then show up as a new recording with rr ls.

@SomeoneToIgnore made this quite quick'n'dirty, too much of the time spent was wondering where did the recordings go because the environment variables are still being cleared until I finally got to debugging.. But, the added allow_recording: bool to filter out recording the pageserver init is quite the hack, unsure should that be done. Thought you might have some ideas.
This does work however :)

I've been struggling with this too, so thanks for working on this.  I've used rr many times while debugging python test failures; that's easy to do by just launching the whole pytest with rr, e.g.:
rr poetry run pytest <test>

But that doesn't work with neon_local start, because it spawns the pageserver and safekeeper into the background, and when neon_local returns, the rr session ends too
But I just now realized there's a super easy workaround for this: just start a new shell under rr!
~/git-sandbox/neon ((1d588667...))$ rr bash
rr: Saving execution to trace directory `/home/heikki/.local/share/rr/bash-2'.
~/git-sandbox/neon ((1d588667...))$ ./target/debug/neon_local start
Starting etcd broker using "/usr/bin/etcd".
etcd started, pid: 40031
Starting pageserver at '127.0.0.1:64000' in '.neon'.
pageserver started, pid: 40040
Starting safekeeper at '127.0.0.1:5454' in '.neon/safekeepers/sk1'.
safekeeper 1 started, pid: 40048
~/git-sandbox/neon ((1d588667...))$ # ... Do your testing against the running server ...
~/git-sandbox/neon ((1d588667...))$ exit
exit
~/git-sandbox/neon ((1d588667...))$ rr ps
PID	PPID	EXIT	CMD
40021	--	0	bash
40022	40021	0	dircolors -b
40023	40021	0	(forked without exec)
40024	40023	0	(forked without exec)
40025	40024	0	git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
40026	40023	1	git config --bool core.sparseCheckout
40027	40023	128	(forked without exec)
40028	40027	128	git describe --tags --exact-match HEAD
40029	40021	0	./target/debug/neon_local start
40031	40029	-9	/usr/bin/etcd --data-dir=.neon/etcd --listen-client-urls=http://localhost:2379 --advertise-client-urls=http://localhost:2379 --quota-backend-bytes=100000000 --auto-compaction-mode=revision --auto-compaction-retention=1
40040	40029	-9	/home/heikki/git-sandbox/neon/target/debug/pageserver -D .neon
40048	40029	-9	/home/heikki/git-sandbox/neon/target/debug/safekeeper -D .neon/safekeepers/sk1 --id 1 --listen-pg 127.0.0.1:5454 --listen-http 127.0.0.1:7676 --broker-endpoints http://localhost:2379
40063	40021	0	(forked without exec)
40064	40063	0	(forked without exec)
40065	40064	0	git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
40066	40063	1	git config --bool core.sparseCheckout
40067	40063	128	(forked without exec)
40068	40067	128	git describe --tags --exact-match HEAD
40080	40021	0	(forked without exec)
40081	40080	0	(forked without exec)
40082	40081	0	git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
40083	40080	1	git config --bool core.sparseCheckout
40084	40080	128	(forked without exec)
40085	40084	128	git describe --tags --exact-match HEAD

Now you can attach e.g. to the pageserver session with rr replay -p 40040.
So with that, I don't think we need this PR.

I was thinking I'd only want the pageserver recording but perhaps running a shell is enough. Didn't realize that option. Will archive this to https://github.com/koivunej/neon.

authors: hlinnaka koivunej


text:
fix: break dev dependencies between wal_craft and pg_ffi

Problem
close https://github.com/neondatabase/neon/issues/4266
Summary of changes
With this PR, rust-analyzer should be able to give lints and auto complete in mod tests, and this makes writing tests easier. Previously, rust-analyzer cannot do auto completion.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

The test is simply copy-pasted from postgres_ffi/xlog_utils.rs to wal_craft/xlog_utils.rs with some new imports, so there is no actual change of test cases.

Hmm, my rust analyzer works fine in tests on main. But I had to tweak it a bit: https://neondb.slack.com/archives/C0277TKAJCA/p1666024158950839

Hmm, my rust analyzer works fine in tests on main. But I had to tweak it a bit: https://neondb.slack.com/archives/C0277TKAJCA/p1666024158950839

Well, this is interesting... After I revert back to main, my env also works well. 🤣 But I prefer to merge this PR to resolve rust-analyzer warnings...

authors: bojanserafimov skyzh


text:
Make activity monitor take pg_stat_wal_receiver into account

Problem
We currently don't check if there's any physical replication happening, which can cause the compute to get suspended during a RO replica benchmark!
Summary of changes
Make activity monitor look at last message received in pg_stat_wal_receiver.

Sounds like you are about to disable scale to zero on replicas :-)

We currently don't check if there's any physical replication happening

well, we don't care if replication is happening or not. We care about whether user is sending some queries to replica or not.

authors: kelvich save-buffer


text:
Test Issue: 020c7ab7-45e5-4240-8085-1843b050b779

HELLO WORLD!

COMMENT: 1

COMMENT: 2

repo: neontest/neon-git


text:
fix user communities when seeding and userCount updating

userCount wasn't updating correctly when a user joined so that works now and also the seeds were messed up and not adding all of the communites the user was a part of

fixed the create community page change and the communities page should update correctly


text:
Mapping of gaussians with pixels

Is there any variable which is storing all the pixels a gaussian affects (irrespective of the depth or distance from centre)?
If yes, how can we expose it to the python interface?

hello @saswat0,
did you find a solution?
I am also interested in something like this #108

@pknmax Not yet 😞

Did you guys figured out a way now?

repo: nerfstudio-project/gsplat


text:
Get rid of redundant projection matrix computations in Splatfacto (needs a gsplat update)

Requires https://github.com/nerfstudio-project/gsplat/pull/97

One more thing, the gsplat version should be bumped to gsplat>=0.1.9 in pyproject.toml

Done!

We need to bump up gsplat version first before we can merge this PR.

authors: jb-ye oseiskar

repo: nerfstudio-project/nerfstudio


text:
Error:about the new customized layer

@nerox8664 Hi, we train a model with customized, called SegmentConsensus, layer by torch.0.4.0, and getting the following error:
Using TensorFlow backend.
Freezing BatchNorm2D except the first one.
Freezing BatchNorm2D except the first one.
Traceback (most recent call last):
File "pytorch_trn-res2keras-tf.py", line 27, in
keras_model = pytorch_to_keras(pytorch_model, input_var, (4, 3, 224, 224), verbose=True)
File "/home/intellif/framework_exchange/pytorch2keras/pytorch2keras/converter.py", line 91, in pytorch_to_keras
trace, torch_out = torch.jit.get_trace_graph(model, tuple(args))
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/contextlib.py", line 77, in exit
self.gen.throw(type, value, traceback)
File "/home/intellif/framework_exchange/pytorch2keras/pytorch2keras/converter.py", line 29, in set_training
yield
File "/home/intellif/framework_exchange/pytorch2keras/pytorch2keras/converter.py", line 91, in pytorch_to_keras
trace, torch_out = torch.jit.get_trace_graph(model, tuple(args))
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/jit/init.py", line 255, in get_trace_graph
return LegacyTracedModule(f, nderivs=nderivs)(*args, **kwargs)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/nn/modules/module.py", line 491, in call
result = self.forward(*input, **kwargs)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/jit/init.py", line 288, in forward
out = self.inner(*trace_inputs)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/nn/modules/module.py", line 489, in call
result = self._slow_forward(*input, **kwargs)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/nn/modules/module.py", line 479, in _slow_forward
result = self.forward(*input, **kwargs)
File "/home/intellif/framework_exchange/pytorch2keras/models.py", line 338, in forward
output = self.consensus(base_out)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/nn/modules/module.py", line 489, in call
result = self._slow_forward(*input, **kwargs)
File "/home/intellif/anaconda2/envs/py3torch4/lib/python3.5/site-packages/torch/nn/modules/module.py", line 479, in _slow_forward
result = self.forward(*input, **kwargs)
File "/home/intellif/framework_exchange/pytorch2keras/ops/basic_ops.py", line 47, in forward
return SegmentConsensus(self.consensus_type, self.dim)(input)
RuntimeError: Attempted to trace SegmentConsensus, but tracing of legacy functions is not supported
How to understand tracing of legacy functions is not supported

Hello @Ai-is-light.
This error occurs when PyTorch can't trace your model properly. The reason may be: custom operations, ffi, wrong arguments order and something like that. So, you've got the error related to pytorch's jit.
You can check, if the model works with your dummy-variables without any converters.


text:
[ᚬmaster] chore: update package versions and changelogs

0.27.1 (2020-01-27)
Note: Version bump only for package ckb-sdk-js

Subscription rpc will be not added in v0.27.1 ?

Subscription rpc will be not added in v0.27.1 ? @Keith-CY

It works with websocket that I prefer to implement later.

Subscription rpc will be not added in v0.27.1 ? @Keith-CY

It works with websocket that I prefer to implement later.

Subscription rpc will be not added in v0.27.1 ? @Keith-CY

It works with websocket that I prefer to implement later.

Get

authors: Keith-CY duanyytop

repo: nervosnetwork/ckb-sdk-js


text:
[ᚬmaster] Rc/v0.29.1

0.29.1 (2020-02-28)
Bug Fixes

core: fix the calculation of epoch locks in nervos dao operation (d914007)

This fix is missing in v0.29.0

This fix is missing in v0.29.0

OK. I remeber https://github.com/nervosnetwork/ckb-sdk-js/pull/424 has the same changes.


text:
feat(helpers)!: deprecated short fmt address

Breaking change
generateAddress
// before
generateAddress(script)

// after
generateAddress(script, { __generateShortAddressWhenShortIDInConfig: true } )

note: parseAddress We will be compatible with the current all format
Background
Due to the upgrade of CKB2021, address format will also be upgrade, but this will cause the address to be difficult to understand,  after CKB2021 hard-fork, it will become CKB2021 full address /  CKB2021 short address / CKB2019 full address / CKB2019 short address. In order to avoid the complexity of address format, the CKB community will migrate to only support full format address.

This breaking change may cause the Lumos upgrade still compiles fine, but the address returned is not the same as the old version, so we decided to use a new API instead of generateAddress and mark generateAddress as deprecated

We can find the the new API in #205

repo: nervosnetwork/lumos


text:
DFPlayer Behavior on LSOS 1.5

I am having troubles with my DFPlayer, the volume is correctly set, but it keeps looping on "Soundfont" sound and doesn't play anything.
I have tried with the old library, and it is sometimes working.
What can I do to fix this ?

try the modes with the usual LEDs on newpixel it happens

I kinda figured it out, why my arduino nano is loaded with too much code (90% of the space), the whole system behaves weirdly...
I think I'll rewrite some features when I have to time so that they are cleaner and lighter

I'm sorry to re-open this issue but I'm really struggling getting this feature to work.
Can anyone help me ?

It was an hardware issue, switched to another dfplayer and it works fine

authors: DRagonenko azsde

repo: neskweek/LightSaberOS

license_source: bigquery


text:
New skills viz

Description
This PR will produce top non-green skills for occupations based on overall greenness. the script needs to be updated to:

use soc 2020 ext
the occ_aggregated dataset
tfidfs by 'greenness score'

Fixes # (issue)
Instructions for Reviewer
In order to test the code in this PR you need to ...
Please pay special attention to ...
Checklist:

[ ] I have refactored my code out from notebooks/
[ ] I have checked the code runs
[ ] I have tested the code
[ ] I have run pre-commit and addressed any issues not automatically fixed
[ ] I have merged any new changes from dev
[ ] I have documented the code

[ ] Major functions have docstrings
[ ] Appropriate information has been added to READMEs

[ ] I have explained this PR above
[ ] I have requested a code review

I've re-run the aggregate_by_sic.py and aggregate_by_soc.py scripts and updated the ojo_analysis.yaml file to reflect the most recent versions of the datasets.

@india-kerle my commit fixed that issue.
Have no idea why filter_large_occs didn't work, but I also added a manual step for it.
I have rerun the aggregate datasets.
I didn't rerun the notebooks/vizs, but I think we need to update them later down the line with Laurens suggestions etc, so can just leave for then?

fyi @india-kerle I noticed this hadn't been rebased with the fix to data_type="large" (from "mixed") in the ojo_analysis config, which meant the latest dataset for the regional aggregation (20231220) had been rerun on the mixed sample. I've rerun this today with datatype="large".
Think we need a double checking time when everything is merged where we check over the aggregation scripts, rerun them all, and rerun all the viz notebooks.

@lizgzil wow thanks so much for this - I've kept this branch has been open for far too long given how actively we're updating analysis graphs. I'll prioritise getting this in a state for review by EOD or tomorrow so we can just merge ASAP. Also agreed on double checking time given this.

@lizgzil the network approach seems to be more interesting than the top tf-idf approach - i've created two graphs - 1 is just to explore the network of green-non-green skills in highly green occupations while the second is the bar chart of top non-green skills based on degree centrality in the network. it might be nice to filter by occupation etc. but i think let's just merge this and if there's any other altair graphs we want to make, we can do so in a new PR.

authors: india-kerle lizgzil


text:
chore(): migrate to github issue forms

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/nestjs/nest/blob/master/CONTRIBUTING.md
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[x] Other... Please describe:

Just because GitHub issue forms looks nicer than the old issue templates, and also to enforce for sure some standard across issues in this repo.
What is the new behavior?
See them in action here: https://github.com/micalevisk/axios/issues/new/choose
Pretty much the same as the one in these others @nestjs repos, with minor changes:

[x] https://github.com/nestjs/mapped-types
[x] https://github.com/nestjs/terminus
[x] https://github.com/nestjs/typeorm
[ ] https://github.com/nestjs/event-emitter
[ ] https://github.com/nestjs/throttler
[ ] https://github.com/nestjs/elasticsearch
[ ] https://github.com/nestjs/schematics
[ ] https://github.com/nestjs/jwt
[ ] https://github.com/nestjs/config
[ ] https://github.com/nestjs/passport
[ ] https://github.com/nestjs/schedule
[ ] https://github.com/nestjs/bull
[ ] https://github.com/nestjs/serve-static
[ ] https://github.com/nestjs/cqrs
[ ] https://github.com/nestjs/graphql
[ ] https://github.com/nestjs/swagger
[ ] https://github.com/nestjs/nest

(yes, I'm targeting every repository listed above)
Does this PR introduce a breaking change?
[ ] Yes
[x] No

LGTM
thanks @micalevisk 🙌

authors: kamilmysliwiec micalevisk

repo: nestjs/axios


text:
Request for the Release of QNAP Native Installation Package

Is your feature request related to a problem? Please describe.
As a well-known system alongside Synology, the QNAP system also faces the issue of intranet penetration. Unfortunately, netbird has not yet provided good support for this system.
Both the existing binary package and the Docker method have failed to install, with the following issues:

Binary package installation: Successful registration but unable to ping or register.
Docker method installation: Unable to register.

ps: The QuVPN suite has been installed in advance, generating a tun network card.
Describe the solution you'd like
Adapt to the QNAP system, similar to Synology, and provide a native installation package.
Describe alternatives you've considered
Alternatively, a Docker solution can be provided, but the parameters need to be modified.
Additional context
Add any other context or screenshots about the feature request here.

我用docker是成功注册的，将认证key写入docker容器运行命令后注册成功，但不能使用100的IP访问web服务，可能是web服务没有绑定这个IP地址，但可以通过router的方式添加qnap的内网段路由，然后使用qnap的内网方式访问qnap服务

我用docker是成功注册的，将认证key写入docker容器运行命令后注册成功，但不能使用100的IP访问web服务，可能是web服务没有绑定这个IP地址，但可以通过router的方式添加qnap的内网段路由，然后使用qnap的内网方式访问qnap服务

学习了，我再试下，感谢

authors: allblue houpi

repo: netbirdio/netbird