text:
Equals on Floats doesn't work if there is a decimal point

Bug description
When you are searching a postgres database with a table defined as a float value:
{ amount: { equals: input.amount } }
This returns results that match whole numbers, but not numbers with any decimal places.
So if I type in '360' it will return all numbers that are exactly 360 but if I type in '360.6' it won't return anything, even if there is a value of 360.6 in the database.
How to reproduce

Create a float value in schema.prisma
Create a float number with decimal places
Create a where filter for the value
Search for that number

Expected behavior
I would expect to get the number back
Prisma information
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["native"]
}

model User {
  id                    String               @id @default(cuid())id                    String               @id @default(cuid())
  createdAt             DateTime             @default(now())
  updatedAt             DateTime             @default(now()) @updatedAt
  lastSeen              DateTime?
  onlineStatus          UserOnlineStatus     @default(Offline)
  status                UserStatus           @default(Pending)
  developer             Boolean              @default(false)
  role                  Role
  email                 String               @unique
  emailConfirmed        Boolean              @default(false)
  username              String?              @unique
  infusionsoftId        Int?
  firstName             String?
  lastName              String?
  password              String?
  passwordResetToken    String?
  passwordResetExpires  DateTime?
  confirmEmailToken     String?
  confirmEmailExpires   DateTime?
  showGravatar          Boolean?             @default(false)
  avatarUrl             String?
  applicationDate       DateTime?
  inactiveDate          DateTime?
  inquiryDate           DateTime?
  membershipDate        DateTime?
  renewalDate           DateTime?
  terminationDate       DateTime?
  transferDate          DateTime?
  location              String?
  phone                 String?
  bio                   String?
  facebook              String?
  twitter               String?
  youtube               String?
  linkedin              String?
  instagram             String?
  website               String?
  industry              String?
  timeInIndustry        String?
  address               String?
  address2              String?
  cell                  String?
  chapterTitle          String?
  city                  String?
  comments              String?
  company               String?
  fax                   String?
  hear                  String?
  hearOther             String?
  internalComments      String?
  launchComplete        Boolean?
  mentorName            String?
  merchantCircle        String?
  multipleBusinesses    Boolean?
  multipleLocations     Boolean?
  numberOfEmployees     Int?
  organizer             Int?
  otherBusinesses       String?
  otherLocations        String?
  postcode              String?
  promoter              Int?
  recognized            Int?
  salesAgentName        String?
  state                 String?
  strategizer           Int?
  substitute            Boolean?
  tagline               String?
  terminatedByName      String?
  terminationComments   String?
  terminationReason     String?
  thinker               Int?
  title                 String?
  type                  String?
  vet                   Boolean?
  notifyByEmail         Boolean?
  notifyBySMS           Boolean?
  notifyByWeb           Boolean?
  notifyByMobile        Boolean?
  chapter               ChapterMember?       @relation("ChapterMember_BelongsTo_User")
  companies             CompanyMember[]      @relation("CompanyMember_BelongsTo_User")
  notificationsSent     Notification[]       @relation("Notification_HasOne_FromUser")
  notificationsReceived Notification[]       @relation("Notification_HasOne_ToUser")
  powerHoursFrom        PowerHour[]          @relation("PowerHour_HasOne_FromUser")
  powerHoursTo          PowerHour[]          @relation("PowerHour_HasOne_ToUser")
  referralsSent         Referral[]           @relation("Referral_HasOne_SentByUser")
  referralsFrom         Referral[]           @relation("Referral_HasOne_FromUser")
  referralsTo           Referral[]           @relation("Referral_HasOne_ToUser")
  reminderSentBy        AttendanceReminder[] @relation("AttendanceReminder_HasOne_SentByUser")
  reminderSentTo        AttendanceReminder[] @relation("AttendanceReminder_HasOne_SentToUser")
  substituteAccepted    Substitute[]         @relation("Substitute_BelongsTo_User")
  substituteInvited     Substitute[]         @relation("Substitute_HasMany_User")
  substitutesSentBy     Substitute[]         @relation("Substitute_BelongsTo_UserSentBy")
  testimonialsFrom      Testimonial[]        @relation("Testimonial_HasOne_FromUser")
  testimonialsTo        Testimonial[]        @relation("Testimonial_HasOne_ToUser")
  transactions          Transaction[]        @relation("Transactions_BelongsTo_User")
  territoryManaged      Territory?           @relation("Territory_HasOne_Manager")
  regionManaged         Region?              @relation("Region_HasOne_Manager")
  avatar                Upload?              @relation("Upload_BelongsTo_User")
  presence              MeetingPresence[]    @relation("MeetingPressence_BelongsTo_User")
}

enum Role {
  Admin
  Guest
  User
}

enum UserStatus {
  Active
  Terminated
  Inactive
  Guest
  Pending
  Withdrawn
  Banned
  Unknown
}

enum UserOnlineStatus {
  Away
  Offline
  Online
}

model Chapter {
  id                 String               @id @default(cuid())
  createdAt          DateTime             @default(now())
  updatedAt          DateTime             @default(now()) @updatedAt
  establishedDate    DateTime?            @default(now())
  name               String
  description        String?
  avatarEmail        String?
  avatarUrl          String?
  latitude           String?
  longitude          String?
  city               String?
  state              String?
  facebook           String?
  meetingDay         DayOfWeek?
  meetingTime        String?
  meetingDetails     String?
  status             ChapterStatus
  meetings           Meeting[]            @relation("Meeting_BelongsTo_Chapter")
  members            ChapterMember[]      @relation("ChapterMember_BelongsTo_Chapter")
  transactions       Transaction[]        @relation("Transactions_BelongsTo_Chapter")
  referralsFrom      Referral[]           @relation("Referral_HasOne_FromChapter")
  referralsTo        Referral[]           @relation("Referral_HasOne_ToChapter")
  substituteGroup    SubstituteGroup?     @relation(name: "Chapter_BelongsTo_SubstituteGroup", fields: [substituteGroupId], references: [id])
  substituteGroupId  String?
  region             Region?              @relation(name: "Chapter_BelongsTo_Region", fields: [regionId], references: [id])
  regionId           String?
  attendanceReminders AttendanceReminder[] @relation("AttendanceReminder_BelongsTo_Chapter")
  avatar             Upload?              @relation("Upload_BelongsTo_Chapter")
}

enum ChapterStatus {
  Active
  NowForming
  Shutdown
  Inactive
  Inquiry
  PhaseOne
}

enum DayOfWeek {
  Monday
  Tuesday
  Wednesday
  Thursday
  Friday
  Saturday
  Sunday
  Unknown
}

model Meeting {
  id           String            @id @default(cuid())
  createdAt    DateTime          @default(now())
  updatedAt    DateTime          @default(now()) @updatedAt
  date         DateTime          @default(now())
  chapter      Chapter           @relation(name: "Meeting_BelongsTo_Chapter", fields: [chapterId], references: [id])
  chapterId    String
  isVisitorDay Boolean           @default(false)
  presence     MeetingPresence[] @relation("MeetingPressence_BelongsTo_Meeting")
  substitutes  Substitute[]      @relation("Substitute_BelongsTo_Meeting")
}

model MeetingPresence {
  id         String            @id @default(cuid())
  createdAt  DateTime          @default(now())
  updatedAt  DateTime          @default(now()) @updatedAt
  attendance MeetingAttendance @default(Unknown)
  meeting    Meeting           @relation(name: "MeetingPressence_BelongsTo_Meeting", fields: [meetingId], references: [id])
  meetingId  String
  member     User              @relation(name: "MeetingPressence_BelongsTo_User", fields: [memberId], references: [id])
  memberId   String
}

enum MeetingAttendance {
  Absent
  Excused
  Invited
  Present
  Substitute
  Unknown
}

model Substitute {
  id           String   @id @default(cuid())
  createdAt    DateTime @default(now())
  updatedAt    DateTime @default(now()) @updatedAt
  meeting      Meeting  @relation(name: "Substitute_BelongsTo_Meeting", fields: [meetingId], references: [id])
  meetingId    String
  invited      User[]   @relation("Substitute_HasMany_User")
  sentBy       User     @relation(name: "Substitute_BelongsTo_UserSentBy", fields: [sentById], references: [id])
  sentById     String
  substitute   User?    @relation(name: "Substitute_BelongsTo_User", fields: [substituteId], references: [id])
  substituteId String?
}

model AttendanceReminder {
  id        String   @id @default(cuid())
  createdAt DateTime @default(now())
  updatedAt DateTime @default(now()) @updatedAt
  chapter   Chapter? @relation(name: "AttendanceReminder_BelongsTo_Chapter", fields: [chapterId], references: [id])
  chapterId String?
  sentBy    User     @relation(name: "AttendanceReminder_HasOne_SentByUser", fields: [sentById], references: [id])
  sentById  String
  sentTo    User     @relation(name: "AttendanceReminder_HasOne_SentToUser", fields: [sentToId], references: [id])
  sentToId  String
}

model ChapterMember {
  id        String            @default(cuid())
  createdAt DateTime          @default(now())
  updatedAt DateTime          @default(now()) @updatedAt
  isMentor  Boolean           @default(false)
  isTrainer Boolean           @default(false)
  role      ChapterMemberRole
  chapter   Chapter           @relation(name: "ChapterMember_BelongsTo_Chapter", fields: [chapterId], references: [id])
  chapterId String
  member    User              @relation(name: "ChapterMember_BelongsTo_User", fields: [memberId], references: [id])
  memberId  String            @unique

  @@id([chapterId, memberId])
}

model Upload {
  id               String   @id @default(cuid())
  createdAt        DateTime @default(now())
  updatedAt        DateTime @default(now()) @updatedAt
  format           String?
  originalFilename String
  publicId         String
  resourceType     String
  secureUrl        String
  signature        String
  thumbnailUrl     String
  url              String?
  type             String?
  user             User?    @relation(name: "Upload_BelongsTo_User", fields: [userId], references: [id])
  userId           String?  @unique
  chapter          Chapter? @relation(name: "Upload_BelongsTo_Chapter", fields: [chapterId], references: [id])
  chapterId        String?  @unique
}

model SubstituteGroup {
  id        String    @id @default(cuid())
  createdAt DateTime  @default(now())
  updatedAt DateTime  @default(now()) @updatedAt
  name      String
  chapters  Chapter[] @relation("Chapter_BelongsTo_SubstituteGroup")
}

model Territory {
  id        String   @id @default(cuid())
  createdAt DateTime @default(now())
  updatedAt DateTime @default(now()) @updatedAt
  name      String?
  manager   User?    @relation(name: "Territory_HasOne_Manager", fields: [managerId], references: [id])
  managerId String?  @unique
  regions   Region[] @relation("Region_BelongsTo_Territory")
}

model Region {
  id          String     @id @default(cuid())
  createdAt   DateTime   @default(now())
  updatedAt   DateTime   @default(now()) @updatedAt
  name        String?
  manager     User?      @relation(name: "Region_HasOne_Manager", fields: [managerId], references: [id])
  managerId   String?    @unique
  territory   Territory? @relation(name: "Region_BelongsTo_Territory", fields: [territoryId], references: [id])
  territoryId String?
  chapters    Chapter[]  @relation("Chapter_BelongsTo_Region")
}

enum ChapterMemberRole {
  Chairman
  Member
  President
  VicePresident
}

model Company {
  id        String          @id @default(cuid())
  createdAt DateTime        @default(now())
  updatedAt DateTime        @default(now()) @updatedAt
  name      String
  members   CompanyMember[] @relation("CompanyMember_BelongsTo_Company")
}

model CompanyMember {
  id        String    @default(cuid())
  createdAt DateTime  @default(now())
  updatedAt DateTime  @default(now()) @updatedAt
  fromDate  DateTime?
  thruDate  DateTime?
  role      String?
  location  String?
  company   Company   @relation(name: "CompanyMember_BelongsTo_Company", fields: [companyId], references: [id])
  companyId String
  member    User      @relation(name: "CompanyMember_BelongsTo_User", fields: [memberId], references: [id])
  memberId  String

  @@id([companyId, memberId])
}

model Industry {
  id        String   @id @default(cuid())
  createdAt DateTime @default(now())
  updatedAt DateTime @default(now()) @updatedAt
  name      String
}

model Referral {
  id            String         @id @default(cuid())
  createdAt     DateTime       @default(now())
  updatedAt     DateTime       @default(now()) @updatedAt
  referralDate  DateTime?
  rating        ReferralRating
  firstName     String
  lastName      String
  email         String?
  phone         String?
  notes         String?
  fromIndustry  String?
  toIndustry    String?
  sentBy        User?          @relation(name: "Referral_HasOne_SentByUser", fields: [sentById], references: [id])
  sentById      String?
  from          User?          @relation(name: "Referral_HasOne_FromUser", fields: [fromId], references: [id])
  fromId        String?
  to            User?          @relation(name: "Referral_HasOne_ToUser", fields: [toId], references: [id])
  toId          String?
  fromChapter   Chapter?       @relation(name: "Referral_HasOne_FromChapter", fields: [fromChapterId], references: [id])
  fromChapterId String?
  toChapter     Chapter?       @relation(name: "Referral_HasOne_ToChapter", fields: [toChapterId], references: [id])
  toChapterId   String?
  transactions  Transaction[]  @relation("Transactions_BelongsTo_Referral")
}

enum ReferralRating {
  Hot
  Warm
  Cold
}

model Notification {
  id            String                     @id @default(cuid())
  createdAt     DateTime                   @default(now())
  updatedAt     DateTime                   @default(now()) @updatedAt
  read          Boolean                    @default(false)
  type          NotificationType
  message       String?
  referenceId   String?
  referenceType NotificationReferenceType?
  actor         User?                      @relation(name: "Notification_HasOne_FromUser", fields: [actorId], references: [id])
  actorId       String?
  to            User                       @relation(name: "Notification_HasOne_ToUser", fields: [toId], references: [id])
  toId          String
}

enum NotificationType {
  PowerHourAccepted
  PowerHourCountered
  PowerHourDeclined
  PowerHourReceived
  ReferralReceived
  SubstituteAccepted
  SubstituteRequested
  TestimonialReceived
  ContactInfoShared
}

enum NotificationReferenceType {
  PowerHour
  Referral
  Substitute
  Testimonial
  SharedContact
}

model Transaction {
  id         String    @id @default(cuid())
  createdAt  DateTime  @default(now())
  updatedAt  DateTime  @default(now()) @updatedAt
  date       DateTime
  amount     Float
  enteredBy  String?
  enteredOn  String?
  industry   String?
  state      String?
  chapter    Chapter?  @relation(name: "Transactions_BelongsTo_Chapter", fields: [chapterId], references: [id])
  chapterId  String?
  user       User?     @relation(name: "Transactions_BelongsTo_User", fields: [userId], references: [id])
  userId     String?
  referral   Referral? @relation(name: "Transactions_BelongsTo_Referral", fields: [referralId], references: [id])
  referralId String?
}

model Testimonial {
  id        String   @id @default(cuid())
  createdAt DateTime @default(now())
  updatedAt DateTime @default(now()) @updatedAt
  text      String
  from      User     @relation(name: "Testimonial_HasOne_FromUser", fields: [fromId], references: [id])
  fromId    String
  to        User     @relation(name: "Testimonial_HasOne_ToUser", fields: [toId], references: [id])
  toId      String
}

model PowerHour {
  id        String          @id @default(cuid())
  createdAt DateTime        @default(now())
  updatedAt DateTime        @default(now()) @updatedAt
  date      DateTime
  time      String
  details   String?
  status    PowerHourStatus @default(Proposed)
  from      User            @relation(name: "PowerHour_HasOne_FromUser", fields: [fromId], references: [id])
  fromId    String
  to        User            @relation(name: "PowerHour_HasOne_ToUser", fields: [toId], references: [id])
  toId      String
}

enum PowerHourStatus {
  Accepted
  Countered
  Declined
  Proposed
}

model Territori {
  id        String   @id @default(cuid())
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  title String
}

Environment & setup

OS: Heroku
Database: PostgresQL
Node.js version: 14

Prisma Version
4.4.0

What query exactly are you executing?

return this.data.transaction.findMany({
take: input?.take ?? 10,
skip: input?.skip ?? 0,
orderBy: orderBy,
where: { amount: { equals: input.amount } }
...select,
})

Hey @justinhandley, a few months have passed since the latest comment, do you please have any reproduction?

I think that based on your comment I upgraded my prisma version and the issue went away - closing this for now.

authors: janpio jkomyno justinhandley

repo: prisma/prisma


text:
Prisma 4.9.x (dev version) broke openssl detection for Linux distros besides Alpine and Debian-based distros, like RHEL

Bug description
➜ reacall-app git:(master) DEBUG="*" pn i
  corepack Reusing pnpm@7.21.0 +0ms
Lockfile is up to date, resolution step is skipped
Already up to date

> reacall@0.1.0 postinstall /home/thiago/dev/sandbox/reacall-app
> prisma generate

  prisma:engines  binaries to download libquery-engine, migration-engine, introspection-engine, prisma-fmt +0ms
  prisma:download  file /home/thiago/dev/sandbox/reacall-app/node_modules/.pnpm/@prisma+engines@4.8.0/node_modules/@prisma/engines/libquery_engine-debian-openssl-5.0.x.so.node does not exist and must be downloaded +0ms
Error: Error: Unknown binaryTarget debian-openssl-5.0.x and no custom engine files were provided
    at /home/thiago/dev/sandbox/reacall-app/node_modules/.pnpm/@prisma+engines@4.8.0/node_modules/@prisma/engines/dist/index.js:23115:13
    at async Promise.all (index 0)
 ELIFECYCLE  Command failed with exit code 1.

How to reproduce
Method 1: npx prisma generate

npm init -y
npm i @prisma/client
npx prisma generate
See error Error: Unknown binaryTarget debian-openssl-5.0.x and no custom engine files were provided

Method 2: npx prisma init

npx prisma init or npx prisma@dev init or npx prisma@4.8 init
See error Error: Unknown binaryTarget debian-openssl-5.0.x and no custom engine files were provided

Method 3: npx prisma init with latest and dev versions:

npx prisma@latest init:
1.1 Error: Unknown binaryTarget debian-openssl-5.0.x and no custom engine files were provided
npx prisma@dev init:
2.1 Error: Pattern matching error: no pattern matches value {"arch":"x64"}

Expected behavior
No errors
Prisma information
N/A
Environment & setup

OS: openSUSE Tumbleweed x86_64
Kernel: 6.0.12-1-default
Shell: zsh 5.9
WM: i3
Database: default
Node.js version: attempted on v19.3.0, v18.19.2, v16.18.1
OpenSSL: 1.1.1s  1 Nov 2022

Prisma Version
Attempting to install prisma globally and then running prisma -v results in the same error:
Error: Unknown binaryTarget debian-openssl-5.0.x and no custom engine files were provided

This happens using prisma versions 4.8 and 4.9.
This does not happen using prisma@4.7
Workaround

rm -rf node_modules
npm i -D prisma@4.7
npm i @prisma/client@4.7

Running prisma -v with prisma 4.7:
➜  reacall-app git:(master) ✗ ./node_modules/.bin/prisma -v
prisma                  : 4.7.1
@prisma/client          : 4.7.1
Current platform        : debian-openssl-1.1.x
Query Engine (Node-API) : libquery-engine 272861e07ab64f234d3ffc4094e32bd61775599c (at node_modules/.pnpm/@prisma+engines@4.7.1/node
_modules/@prisma/engines/libquery_engine-debian-openssl-1.1.x.so.node)
Migration Engine        : migration-engine-cli 272861e07ab64f234d3ffc4094e32bd61775599c (at node_modules/.pnpm/@prisma+engines@4.7.1
/node_modules/@prisma/engines/migration-engine-debian-openssl-1.1.x)
Introspection Engine    : introspection-core 272861e07ab64f234d3ffc4094e32bd61775599c (at node_modules/.pnpm/@prisma+engines@4.7.1/n
ode_modules/@prisma/engines/introspection-engine-debian-openssl-1.1.x)
Format Binary           : prisma-fmt 272861e07ab64f234d3ffc4094e32bd61775599c (at node_modules/.pnpm/@prisma+engines@4.7.1/node_modu
les/@prisma/engines/prisma-fmt-debian-openssl-1.1.x)
Format Wasm             : @prisma/prisma-fmt-wasm 4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c
Default Engines Hash    : 272861e07ab64f234d3ffc4094e32bd61775599c
Studio                  : 0.477.0

Hi @thiagodebastos, happy new year and thanks for opening this issue. This is indeed a regression unintentionally introduced in prisma@4.8.0 via https://github.com/prisma/prisma/pull/16965. While we work on a solution, can you please run the following commands in your openSUSE system, and report here with the output?

ls -l /usr/lib/x64-linux-gnu/libssl.so.1.1*
openssl version
ldconfig -p | grep ssl
ls -l /lib64 | grep ssl
ls -l /usr/lib64 | grep ssl

It looks like you used prisma@dev at some point, we indeed have the Error: Pattern matching error: no pattern matches value {"arch":"x64"} bug in this internal dev version we are working on.
Though, 4.8.0 should work. Could you try deleting your node_modules directory and installing 4.8.0?

source: gharchive/issue

authors: Jolg42 jkomyno thiagodebastos

license_type: permissive

license_source: github-api


text:
Introduce connectOrSkip for optional connect operations

Problem
When dealing with user input or other non-controlled sources, there are times when you cannot ensure a connect operation will succeed since you don't know if the key provided belongs to an existing record. If you don't want to create a record with connectOrCreate, the alternative is to first check if the record exists (ie. prisma.foo.findUnique) and then do the connect operation only if the record exists (ie. connect: foo ? { id: foo.id } : undefined).
Suggested solution
If Prisma introduces the connectOrSkip operation, things could be simplified to just
await prisma.customer.update({
  where: { id: 3 },
  data: {
    orders: {
      connectOrSkip: { id: 36 } // model Customer { orders Order[] }
    },
  }
});

instead of the following
const order = await prisma.order.findUnique({ where: { id: 36 } });
await prisma.customer.update({
  where: { id: 3 },
  data: {
    orders: {
      connect: order ? { id: order.id } : undefined // model Customer { orders Order[] }
    },
  }
});

Additional context
I believe there's no native way to do this on Postgres, but easily achievable via subqueries.

Look like a duplicate of https://github.com/prisma/prisma/issues/21606.
Does your suggestion add anything? If so, comment over there and close this issue please. Thanks!

Look like a duplicate of #21606. Does your suggestion add anything? If so, comment over there and close this issue please. Thanks!

yep, didn't find it initially. thanks

authors: ajmnz janpio


text:
Using Prisma enums results in setting DB-level default value

The following Prisma schema results in setting a default value for SQLite

I can confirm this bug:

Here is the model for the reproductions:
generator photon {
  provider = "photonjs"
}

datasource db {
  provider = "sqlite"
  url      = "file:dev.db"
}

enum PostStatus {
  DRAFT
  PUBLISHED
}

model Post {
  id        String     @default(cuid()) @id
  createdAt DateTime   @default(now())
  updatedAt DateTime   @updatedAt
  published Boolean    @default(true)
  title     String
  content   String?
  status    PostStatus
}

This is a temporary workaround that we still need. It exists for two reasons:

This allows to easily add required columns although data exists already. Right now we don't have a spec yet how the CLI should behave in that case. We would need to present some kind of error to the user.
SQLite is a special thing again. SQLite errors when adding a required column even though the table is still empty. We would nee to implement a workaround for this quirk for SQLite by first creating a column as nullable and then updating it to non nullable.

Thanks for clarifying @mavilein. I've created a new issue in the specs repo to clarify the needed specs changes to reconcile the current behavior: https://github.com/prisma/specs/issues/277

This is still reproducible.

authors: divyenduz mavilein pantharshit00 schickling


text:
Using env variables breaks VS Code plugin formatting funcionality

Bug description

Using the VS Code Prisma Plugin, if environment variables are used in schema.prisma, the formatting functionality stops working correctly.
How to reproduce
Assuming the file has at least one env("SOME_ENV") , these are the steps to reproduce the behavior:

Open schema.prisma
Change some spaces around the models
Right click > Format Document

Expected behavior

After clicking on Format Document, the document should format spacing (among the rest of the things it validates).
Prisma information

N/A
Environment & setup

OS: Mac OS X 10.15.3
Database: N/A
Prisma version: 2.0.0-beta.1
- Prisma Plugin version: 0.0.30
Node.js version: 12.14.1

EDIT: Removed unwanted characters.

@malekjaroslav thanks for the reply! Should I close this issue then?

We had a large discussion around this here: https://github.com/prisma/vscode/issues/40 and it was fixed as per the discussion but yet to be rolled out.

Can confirm that this is fixed with 0.0.31 :+1:

Looks like this broke again? Formatting doesn't work for me with 2.0.1 but does with 2.0.0.

It did, but for unrelated reasons. Sorry.
Can you please provide some information in https://github.com/prisma/vscode/issues/236 @sondr3? Thanks.

authors: janpio jonathanagosto sondr3 tvvignesh

repo: prisma/vscode


text:
Make more clear what the semantics of the a and b parameters for is_compatible are

See
https://github.com/priv-kweihmann/osadl-matrix/blob/def8436c2c882bd085b51f070e32f4d84b2068a8/osadl_matrix/__init__.py#L38-L43
as is_compatible(a, b) is not (necessarily) the same as is_compatible(b, a), how about making that more clear by renaming the parameters to something like outbound and inbound (plus adding docs for these parameters what this actually means)?

Feel free to add some documentation - PRs are welcome.
As of now the library is awaiting major changes anyway, so that interface will likely change as well.

So, is it worth to submit a PR then? Do you agree with the proposed names?
And out of curiosity, what kind of major changes are coming? I mean, it seems there's not much you could do different for such a simple interface 😀

To provide a little background, OSADL decided to take down the public database (this library is based on) and a new accessible one is still in the making.
Additionally we will add more/different interface to the library (more than the few ones available) now.
So with this in mind I personally would consider the library in some kind of beta stage at the moment.

So, is it worth to submit a PR then? Do you agree with the proposed names?
PRs are fine, the suggested wording as well :wink:

authors: priv-kweihmann sschuberth

repo: priv-kweihmann/osadl-matrix

license: Unlicense


text:
Fastlane file structure for screenshots and other assets

Over in https://gitlab.com/fdroid/rfp/issues/1104#note_219708619 it was suggested that the ecosystem would benefit from a standardised layout of the files in the repository. In particular the "fastlane" structure was suggested: https://gitlab.com/snippets/1895688
AFAIU, it's mainly about pushing images and descriptions into the right places to make everybody's lives a bit easier.

Closed with comment in #92.

authors: confiks muelli


text:
feat: add logo

What feature?
I would like to add logo in footer also want to make underline for headings like license and documentation
Add screenshots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

@BhartiNagpure yeah we need to add the logo. also, just increase the font a little bit & bold heading( documentation, license).

authors: BhartiNagpure priyankarpal

repo: priyankarpal/ProjectsHut

license: MIT


text:
Footer: Add social links to footer

Add social links to the footer section

can you assign me this issue? what are the links you would like me to add?

Please assign me the task

sorry @Vijaykv5 for this @danchan020 said that first. @danchan020 you can work on it.

@priyankarpal got it, what are the links that you want me to add?

Twitter, GitHub
https://twitter.com/Priyankarpal
https://github.com/priyankarpal/ProjectsHut

Done, sent pr!


text:
verify colors used for multiband generation are ratios of n_electrons, not nanomaggies

The SDSS catalog contains fluxes in units of nanomaggies per band. But within BLISS, fluxes are stored in units of counts (number of electrons) per band. It may not seem like the distinction would matter since we're taking ratios of fluxes in our data generation procedure. But here's the potential issue: the number of electrons per nanomaggy is not constant across bands.

This issue is related to #821

repo: prob-ml/bliss


text:
Prevent TOC overflow

Stop TOC list in sidebar on large screens from overflowing into body. 23em is what's required for no margin. 20em is what's set in this change.

Thanks!

source: gharchive/pull-request

authors: manur probberechts

repo: probberechts/cactus-dark

license: mit

license_source: bigquery


text:
Shading affects the tablecloth

I'm glad you found a way to deal with the menu shadow, but there are two problems, the background will be covered and lighter, and there will be a thick black border on the top of the Overview

The Menu is missing in your screenshot. It is supposed to be always there. Why is it missing?

This is the screen when using Overview, the menu will be hidden.

OK, so the fix probably is to not just use a QStackedWidget containing the QListView and set the background on that, but need to use a QVBoxLayout.

repo: probonopd/Filer


text:
Introduce 'interval' to control the scheduler interval

Fixes #165
Hey!  So I'm extremely noob here, but this seems to be passing npm test for me locally..  Is it right?  Help very welcome!

View rendered README.md

Thanks for the speedy review, @hiimbex!  Hopefully we can figure out how to test this and verify it works, meanwhile I've pushed changes for the easy parts.

Any thoughts, @bkeepers?  I'd love to be able to tweak this behaviour in stale bot!

@hiimbex How do you feel about accepting this as is, and forward-fixing any issues if they crop up?
I'd be happy to submit a follow-up PR with a test for this, once we have some idea how to test it.

@dwijnand I still this needs updating since as I mentioned, the schema isn't actually used in the index.js, only from stale, so the changes to the schema and it's test should be removed since they're never used.

Done!  Despite it not being used, I thought it would be good to have for consistency.  But I don't mind dropping it.

authors: dwijnand hiimbex

repo: probot/stale

license: isc


text:
New reactions for Most Liked Issues on Weekly Digest app?

Previously, GitHub had 6 major emotes. Of that, I considered 4 positive emotes and issues having a maximum of these emotes was considered the most liked issue.
But, now the new GitHub has 2 more emotes as reactions on an issue. These are 🚀 and 👀 .
Of these two, I am thinking about adding the number of 🚀 reactions to issues as liked. What are your thoughts on this?

Sounds good 👍

repo: probot/weekly-digest

license: ISC


text:
Added exponentialRampToValueAtTime feature

fixes
#427

@therewasaguy
Please review the Pr

I will be adding unit tests for this soon 😊

@endurance21 how would you feel about adding this idea to the backlog for now?


text:
Bump lint-staged to v12.1.1

Change-type: patch
Signed-off-by: Josh Bowling josh@balena.io

@balena-ci I self certify!

repo: product-os/jellyfish-assert


text:
Migrate to Github Actions

https://github.com/gvolpe/pfps-shopping-cart is a good example

@gvolpe I can help with this one as well.  Assuming with the move to github actions, one needs to also remove .circleci as well or do you want to keep both around?

Sure go ahead!

@gvolpe ....https://github.com/profunktor/http4s-tracer/pull/166  Thanks

closed by #166

authors: asachdeva gvolpe


text:
mgrs.forward returns invalid response

When sending lat/lng to mgrs.forward I'm getting an invalid responses, for example:
TﾘG5622131844
OR
5RńP0567423065
When calling mgrs.toPoint with the expected mgrs I am getting the right lat/lng.
Mac with M1 if that is relevant...

Hi, @cxt9 , I just published a new major version of this library (version 2.0.0).  Would you be able to check and see if you are still getting these errors? Thank you!


text:
[TC-SU-2.5] - SDK needs to implement the features in Applyupdate response

In OTA [TC-SU-2.5] - This test case not verify all steps mentioned in testplan ,some steps like 3,4,5 needs to be implemented in SDK.
Awaitnextaction and discontinue commands needs to be implement

Fixed here: https://github.com/project-chip/connectedhomeip/pull/15208

repo: project-chip/connectedhomeip


text:
[TC-MF-1.11]  After 11th attempt of invalid passcode we are not geeting any error logs

Issue :
According to test-plan after 20 unsuccessful attempts, the 21st shows that you can’t begin PASE (failure at PBKDFRequest, not obtaining a PBKDFResponse) in step 3 of [TC-MF-1.11] test-case, but here after 11  unsuccessful attempts we are not getting any error logs.
PFA logs :
TC_MF_1.11_cntrl02.txt

For [TC_MF_1.12] After 4th attempt of invalid passcode we are not getting any error log
PFA logs :
Uploading TC_MF_1.12.txt…

@bzbarsky-apple Can you please take a look at this issue

I am seeing this fail after 15 failed attempts, but definitely seeing it fail.  What happens is that in CommissioningWindowManager::HandleFailedAttempt the call to AdvertiseAndListenForPASE fails.
And that fails because we fail to allocate a session in PairingSession::AllocateSecureSession.  And looking at the session pool:

It's a BitmapObjectPool, so is actually fixed-size.
The pool size is CHIP_CONFIG_PEER_CONNECTION_POOL_SIZE, which is 16.

So we seem to be leaking sessions, at first glance...

Ah, this is because we have started allocating sessions up front, before we know pairing has been successful, and never clean them up afterward. Fix coming up.

authors: bzbarsky-apple sowmyassp


text:
ESP32: Read software diagnostics attributes at runtime

Problem

Actual value from the platform is not populated at runtime for software diagnostics attributes.

Change overview

Read Software Diagnostic attributes from a platform at runtime

Testing

All clusters app is compiled and checked using python controller.

chip-device-ctrl > zclread ? SoftwareDiagnostics
CurrentHeapHighWatermark
ClusterRevision

chip-device-ctrl > zclread SoftwareDiagnostics CurrentHeapHighWatermark 12344321 0 1
[1632920602.543329][372823:372831] CHIP:IN: Build encrypted message 0x108b358 to 0x0000000000BC5C01 of type 2 and protocolId 1 on exchange 62954r with MessageCounter 2.
[1632920602.543399][372823:372831] CHIP:IN: Sending encrypted msg 0x108b358 to 0x0000000000BC5C01 at utc time: 30789129 msec
[1632920602.543416][372823:372831] CHIP:IN: Sending msg on generic transport
[1632920602.811465][372823:372831] CHIP:EM: Received message of type 0x05 with vendorId 0x0000 and protocolId 0x0001 on exchange 62954i
[1632920602.812255][372823:372831] CHIP:ZCL: ReadAttributesResponse:
[1632920602.812294][372823:372831] CHIP:ZCL:   ClusterId: 0x0000_0034
[1632920602.812312][372823:372831] CHIP:ZCL:   attributeId: 0x0000_0003
[1632920602.812321][372823:372831] CHIP:ZCL:   status: Success                (0x0000)
[1632920602.812330][372823:372831] CHIP:ZCL:   attribute TLV Type: 0x04
[1632920602.812376][372823:372831] CHIP:ZCL:   attributeValue: 147460
[1632920602.812609][372823:372831] CHIP:IN: Build encrypted message 0x108b358 to 0x0000000000BC5C01 of type 1 and protocolId 1 on exchange 62954r with MessageCounter 3.
[1632920602.812653][372823:372831] CHIP:IN: Sending encrypted msg 0x108b358 to 0x0000000000BC5C01 at utc time: 30789398 msec
[1632920602.812677][372823:372831] CHIP:IN: Sending msg on generic transport
AttributeReadResult(path=AttributePath(nodeId=12344321, endpointId=0, clusterId=52, attributeId=3), status=0, value=147460)
chip-device-ctrl > [1632920602.912776][372823:372831] CHIP:EM: Received message of type 0x10 with vendorId 0x0000 and protocolId 0x0000 on exchange 62954i

@sweetymhaiske Can you please also add the output of a cluster command involving any of these, in the testing section

@sweetymhaiske Can you please also add the output of a cluster command involving any of these, in the testing section

Here from the python controller side, they have a provision to read only CurrentHighWaterMark.
Its output has been added.

Darwin seems to say:
./../src/app/MessageDef/AttributePath.h:29:10: fatal error: 'app/AppBuildConfig.h' file not found
#include <app/AppBuildConfig.h>

Darwin seems to say:
./../src/app/MessageDef/AttributePath.h:29:10: fatal error: 'app/AppBuildConfig.h' file not found
#include <app/AppBuildConfig.h>

I am unsure how this PR would cause that. Trying a rebase.

/rebase

authors: andy31415 dhrishi sweetymhaiske


text:
[OTA] Integrate ota-requestor cluster as normal cluster in data model build flow

Problem
Building the ota-requestor cluster is currently done by directly including the sources from src/app/clusters at application level.
This generates code duplication in the .gn/cmake files when trying to add the requestor to another application.
Also ota-requestor-stubs with the same functionality as the general cluster exist.
Change overview
Introducing ota-requestor server in gn and cmake builds same way as other cluster are handled.

Added to the list parsed in zap_cluster_list.py

Adjusted chip_data_model.gni to select non-default sources of ota-requestor-server

Adjust all-clusters-app and ota-requestor-app

changes to all-clusters similar to #13246, enabling provider-client to be able to use requestor-server. Opposed to that PR, keeping the ota-provider-server intact in this PR.

Adjust tests to cope with ota-provider client that is added to all-clusters-app

This is preparation to add a ota-requestor-server to the QPG lighting-app.
This PR holds the generic changes.
Note - CMake based builds of all-clusters-app are not using the default mechanism to include clusters. As it could be a conscious choice, leaving maintainers to update that further.
Testing

CI builds + test runs
Linux ota-provider <> ota-requestor-app functionality
** AnnounceOTAProvider triggered with chip-tool, processed at requestor side, OTAQuery and subsequent download seen.

Keeping PR alive - need reviewers after holiday period

Update to all-clusters part required due to issues in ZAP (client/cluster can't coexist) - see #13437 #13246.
@bzbarsky-apple input how to tackle this greatly appreciated

@tima-q Please rebase on top of #13454 to make it clear which changes here are really new and which were already done in that PR?

@tima-q Please rebase on top of #13454 to make it clear which changes here are really new and which were already done in that PR?

Rebased - only changes are now in the data model build files + stub removal at application level. Thanks for following up.

authors: bzbarsky-apple tima-q


text:
Make the test timeout always command-line configurable for YAML tests.

A test's timeout was only configurable if "timeout" was set in the
YAML.  Make sure the codegen acts as if that is always set.
Also modifies zap_regen_all.py to clearly list all the things it's
planning to run to generate things up front, and adds chip-tool-darwin
to the set of things it generates.
Also adds a --dry-run option to zap_regen_all.py to just list the
targets and exit.
Problem
See above.
Change overview
Make the "timeout" config variable always be present.
Testing
Examined the new codegen.

Fast tracking testing updates.

authors: bzbarsky-apple woody-apple


text:
[matter_yamltests] Use the type hint from the config section for node_id

Problem
fix #26976 where 'nodeId3' is incorrectly treated as a string.

Fast-tracking test infrastructure fix.

authors: bzbarsky-apple vivien-apple


text:
Remove 'emberAfClusterSecurityCustomCallback' from src/app

Problem
#3809 list all the callbacks that are kept when migrating to ZAP in #3464. While some definitively makes senses, some others may be some dependencies that does not make sense.
One example of such callback is emberAfClusterSecurityCustomCallback since security is not optional in CHIP.
This patch has some intersection with #3462 but this is just because EmberAfProfileId is used in emberAfClusterSecurityCustomCallback
Summary of Changes

Remove emberAfClusterSecurityCustomCallback callbacks from gen/
Remove the only usage of emberAfClusterSecurityCustomCallback that was leading to a stub anyway
Remove a bunch of some other security related code into src/app/util. My understanding is that the secure layer is on top of this code, so security features will not be managed by it.

I just pushed an update to remove the methods from src/app/zap-templates since #3824 has just landed and it was adding the methods stubs just in case this one was not going to land.


text:
zap configure tool edits unintended Clusters

When I edit OTA Server Cluster in all-clusters-app.zap, other Clusters are also changed.
Steps to reproduce:

checkout connectedhomeip master branch
run ./scripts/tools/zap/configure.sh
open all-clusters-app.zap, remove OTA Server Cluster from Endpoint 1, and save
Observe diff: Clusters other than OTA Server should have been edited (this is unintended)

@brdandu , @jingteng25742 : can some of you test this and see if it's still happening?

I followed the above reproducer steps. In step 2 I could not find configure.sh so I ran run_zaptool.sh and then opened the all-clusters-app.zap file. I could not find any OTA clusters enabled on Endpoint 1 but saw "OTA Software Update Requestor" server side cluster on Endpoint 0. I disabled the same and the only diff in the zap file I see is as follows:
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
@@ -1516,7 +1516,7 @@
"mfgCode": null,
"define": "OTA_REQUESTOR_CLUSTER",
"side": "server",

     "enabled": 1,

     "enabled": 0,
     "commands": [],
     "attributes": [
       {

I believe the issue has been resolved.

authors: brdandu holbrookt tecimovic

repo: project-chip/zap


text:
[DO NOT REVIEW] This is a test

I'm using this PR to trigger the IQE tests from Konflux.

/retest

/retest

repo: project-kessel/relations-api


text:
fix(priceList): add empty state when there are no rates

closes #797
//cc @dayleparker

Codecov Report

Merging #825 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #825   +/-   ##
=======================================
  Coverage   74.29%   74.29%
=======================================
  Files         210      210
  Lines        3707     3707
  Branches      648      648
=======================================
  Hits         2754     2754
  Misses        861      861
  Partials       92       92

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 34a5337...33405c9. Read the comment docs.

repo: project-koku/koku-ui


text:
Consider renaming simulate to semantics

Upon reflection, the word simulate is perhaps not the best choice and maybe we should revert to semantics or some other name that causes less confusion.

I agree that the name is a bit confusing, but semantics is currently what we call our Cava instances when defining circuits, so that particular replacement might cause name collisions. I'm struggling to think of other ideas -- run and interp both seem like they would cause just as much confusion.

Good point. Let's noodle on this a bit: it's not urgent.

repo: project-oak/silveroak


text:
fixed no status bug

Description
Fixes #250
Type of change
Just put an x in the [] which are valid.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.

[x] ./gradlew assembleDebug assembleRelease
[x] ./gradlew checkstyle

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

@aayushinigam There are merge conflicts

@aayushinigam It's failing

I'll squash commits and update the PR

No need to squash. I'll squash & merge

Oh okay!

repo: project-travel-mate/Travel-Mate


text:
Don‘t write the mainfest digest on stdout in (skopeo copy)

The dir: source type does not return the value, the value is
untrusted/not validated, and it is not at all clear why we should print
it in the first place.

:+1:

authors: mtrmac runcom

repo: projectatomic/skopeo


text:
calico-node should have dnsPolicy explicitly declared as ClusterFirstWithHostNet

Expected Behavior
The calico-node pod is running in host network namespace (hostNetwork is "true"), so according to k8s documentation such a pod should explicitly declare dnsPolicy as ClusterFirstWithHostNet.
Current Behavior
The calico-node pod has no explicit declaration for dnsPolicy parameter, so it fall back to ClusterFirst default value.
Possible Solution
Add dnsPolicy: ClusterFirstWithHostNet declaration in pod specification in all examples.
Steps to Reproduce (for bugs)
kubectl get pod -n kube-system  -lk8s-app=calico-node  -o jsonpath="{.items[0].spec.hostNetwork} <=> {.items[0].spec.dnsPolicy}"
Your Environment

Calico version v3.16.1
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes v1.19.1.
Operating System and version: Ubuntu 18.04

@ark-g is there a particular issue you've encountered as a result of this? Or was this spotted through code-reading?

I found it just by pod declaration analysis.
No actual issues were observed.
On Thu, Nov 19, 2020, 20:16 Casey Davenport notifications@github.com
wrote:

@ark-g https://github.com/ark-g is there a particular issue you've
encountered as a result of this? Or was this spotted through code-reading?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/projectcalico/calico/issues/4192#issuecomment-730550707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACIK473AZWKLY52A7BDHVFTSQVOIFANCNFSM4T3LUS2Q
.

The problem using ClusterFirstWithHostNet, is that calico/node is typically launched prior to cluster DNS being available.
calico/node is required in order for kube-dns to work, so having a dependency on kube-dns would be bad and likely prevent calico/node from starting up. So, I think it's correct the way that it is today.
Happy to revisit this if we find a scenario that the current behavior has negative consequences.

authors: ark-g caseydavenport

repo: projectcalico/calico


text:
VPP dataplane progression to GA

This is an umbrella issue for tracking progression of the VPP dataplane integration from tech-preview to GA. Checklists here are likely to evolve over time.
Move to Beta
General

[x] Operator integration (https://github.com/tigera/operator/pull/1415)
[x] Include VPP dataplane in more CI suites (e.g., felix, calico/node, cni plugin)
[x] Comprehensive code review from someone at Tigera
[x] 2 release cycles for feedback (i.e., v3.21.0)

Full platform / CNI support

[x] EKS w/ Calico CNI
[x] GCP
[x] AWS

Out of scope:

[x] EKS w/ Amazon CNI plugin (non-Calico CNI)
[x] AKS w/ Azure CNI (non-Calico CNI)
[x] GKE (addon-manager)
[x] Azure (different NICs, hard for VPP to detect)

Feature parity

[x] HostEndpoint support
[x] IPv6 / Dual-stack support
[x] HostPort support

Move to GA
Full platform / CNI support

[x] OpenShift

Testing

[x] Scale / robustness testing (reboots, "chaos monkey", adding/deleting nodes, etc)
[x] In-repo CI configured (e.g., Semaphore) https://github.com/projectcalico/vpp-dataplane/issues/292

Release process

[x] Decide on whether to fully integrate release processes (agreed to keep releases loosely coupled)
[x] Release note generation tool includes VPP changes

Additional items

[x] Review list of open VPP issues
[ ] All tests reliably green
[x] 1-2 release cycles in Beta for feedback + some verification of adoption during that time frame
[x] https://github.com/projectcalico/vpp-dataplane/issues/293
[ ] Documentation and troubleshooting

Deferred to after GA

[ ] Security / CVE review
[ ] Untracked policy
[ ] Pre-DNAT policy
[ ] Run Felix FV subset (i.e., https://github.com/projectcalico/vpp-dataplane/issues/292) this suite. Related: https://github.com/projectcalico/calico/pull/7424/

Issues that I think need to be fixed for the beta:

https://github.com/projectcalico/vpp-dataplane/issues/294 Watcher API failures not handled

For the GA:

https://github.com/projectcalico/vpp-dataplane/issues/292 GA: Add automated testing?
https://github.com/projectcalico/vpp-dataplane/issues/293 GA: Scale issue: directly watching Calico resources

Some missing features marked by TODOs in the code; presumably we just mark these as limitations?

[ ] untracked policy
[ ] pre-DNAT policy

Hi @caseydavenport @fasaxc can you let me know whether VPP in Calico is going to be GA-ed with Calico v3.27.0 ? If so are there going to be some missing features compared to non-VPP deployment ?

@mmazurek-msft yes the plan is for VPP data plane to be GA with v3.27.0. @mgleung is leading that release.
The VPP data plane should support most features of other data planes, but we don't enforce strict feature parity here - that allows the different data planes to implement the feature sets that are most important to their particular use-cases. You should expect all major Calico networking and policy features to function, though.

Done in v3.27.0!

authors: caseydavenport fasaxc mmazurek-msft


text:
Tweaks to rkt doc links

Fixes #613

No love for 2.0?

i showed 2.0 some love.  over to you dan.

authors: djosborne robbrockbank


text:
Support OTA from U disk with exfat fs

OTA packages may locate in a U disk with exfat fs, update_engine needs the read permissions of U disk with exfat fs to do the OTA.
Tests done: update_engine can read OTA packages from U disk with exfat fs.
Tracked-On: OAM-113303

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is SUCCESS.To merge the changes please click on APPROVE FOR MERGE button in Android CI WEB

Android CI has completed Engineering Build for this issue, build is SUCCESS.To merge the changes please click on APPROVE FOR MERGE button in Android CI WEB

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has completed Engineering Build for this issue, build is SUCCESS.To merge the changes please click on APPROVE FOR MERGE button in Android CI WEB

repo: projectceladon/device-intel-sepolicy


text:
Implements GatewayClassRef to Support Service APIs

Implements GatewayClassRef in support of Service APIs. The contour controller will only instantiate a Contour environment if "None" is defined for GatewayClassRef or if the field is undefined (defaults to "None"). The "None" value signifies that a GatewayClass is not responsible for managing the Contour custom resource.
Requires: https://github.com/projectcontour/contour-operator/pull/180
xref: https://github.com/projectcontour/contour-operator/pull/171

Note that the soon-to-be implemented gateway controller will be responsible for instantiating a Contour environment when a valid GatewayClassRef is provided.

what happens when someone deletes the Contour that's in use by a Gateway? So a GatewayClass refers to a Contour, and there's a Gateway that refers to that GatewayClass. What happens when that Contour is removed? Is it reconfigured back to defaults? Removed then reprovisioned as default?

@youngnick I'm working through ^ use cases in https://github.com/danehans/contour-operator/tree/wip_svc_apis_impl.

/retest

To keep this moving, I'm going to merge with only my approval.

authors: danehans youngnick

repo: projectcontour/contour-operator


text:
Discovery document generation

Adds the ability to generate documents for use in discovery systems like Geoblacklight. Geoblacklight is the only document type supported here, but adding other types is possible. The builder pattern was adapted from the work that @tpendragon did in the Plum project.
The code here does not include a mechanism for loading the documents into a discovery service. That's for a follow-on pull request.

has conflicts

@drh-stanford. Ready to roll.

authors: drh-stanford eliotjordan


text:
On /users/orders order totals are $0.00

ok so if you check out the /api/v1/orders totals presented are 0.0, roping in @mafernando for some thoughts on how orders_controller.rb might be changed to deliver SUCCESS

Sending ticket to @mafernando

@chriskacerguis @sonejah21
good, now that I have your attention we need to have a hangout talking about this functionality.
when is the soonest you cool folks can make it in!

TODO:

[ ] modify orders_controller to return a monthly projection for the total attribute - @mafernando

authors: AllenBW chriskacerguis mafernando

repo: projectjellyfish/api


text:
Function app package not shown in marketplace filter

In the portal, go to browse > App Service and select "add." You will get a marketplace filter for Web + Mobile. If you search for functions, you do not see the functions package. This is also true of the standard marketplace entry.
I suspect this is because function app is categorized under "compute" for creates, but since browse is rolled into the standard App Service browse, this creates a strange experience.

Closing as handled by #882

authors: lindydonna mattchenderson

repo: projectkudu/AzureFunctionsPortal


text:
Add Environment variables required by MSBuild and node-gyp for ...

…building native projects. Needed for #1076

I should add a test case as well. Will do that now

I usually use (abuse?) the command executor test for things like that to avoid adding new test. https://github.com/projectkudu/kudu/blob/master/Kudu.FunctionalTests/CommandExecutorTests.cs#L31-L45

:shipit:

I see I'll add it there too, but I actually meant adding a nodejs deployment test that restores the 4 packages I tested with.

Oh yes, we definitely should have that.

authors: ahmelsayed davidebbo

repo: projectkudu/kudu


text:
Bonnie 158 create test tool

Creates a test framework for qrda export and a selection of fixtures.

looks like there might be an issue with the config for running the tests in travis

@alexanderelliott121 is test/functional/qrda_export_test.rb the only file with logic in it?

@mayerm94 @holmesie i'm interested in your thoughts. Alex and I had a long conversation about the directory structure for the tests. I think what he did makes a lot of sense but it shifts away from how this was done in other areas of the code.It allows you to simply iterate over the directory structures, which is really nice. I'm interested in what you guys think.

@edeyoung
Yes, qrda_export_test.rb is the only file with logic in it.

Note, this is dependant on the hds changes before it will pass travis.

This change has been incorporated in this pull request: https://github.com/projecttacoma/bonnie/pull/653

Scratch my previous comment. the tool for generating fixtures is in pull request https://github.com/projecttacoma/bonnie/pull/653 but the new fixtures and tests for them is not.

@alexanderelliott121 is there anything from this pull request that we should pull over? If not, should we close it (given the reset test generation code you completed)?

closing. obsolete

repo: projecttacoma/bonnie


text:
Issue with tls proxy and installing

Hi,
I am trying to install kube-prometheus-stack but get the error here:-
https://github.com/prometheus-operator/kube-prometheus/issues/new?labels=kind%2Fsupport&template=support.md
What is the exact hell commmand syntax with the set arguments? I have:
microk8s helm3 install promop prometheus-community/kube-prometheus-stack -n prom-operator --no-hooks --set-string prometheusOperator.admissionWebhooks.enabled=false,
--set-string prometheusOperator.tlsProxy.enabled=false

It looks to me like an issue with helm chart. Since we are not maintaining this helm chart, please open the issue at https://github.com/prometheus-community/helm-charts repository where the helm chart comes from.
Please reopen if this is indeed an issue with kube-prometheus.

authors: gurdeepsira paulfantom

repo: prometheus-operator/kube-prometheus


text:
Added receiver SIGNL4

Added SIGNL4 as an alerting option.

Thank you for your pull request. As stated in the documentation, we're unfortunately unable to accept new integrations at the moment. I would encourage you to turn this into a webhook endpoint which can be listed in the documentation.

Thanks @simonpasquier, I was hoping for deeper, two-way integration including resolve, acknowledgement, etc. Anyway, I will create a description page for the webhook integration and link it in the mentioned documentation.
I hope there will be a chance for a deeper integration at a later stage than.
Thanks again.

repo: prometheus/alertmanager


text:
autocomplete stops working after setting initial metric list

Hello,
I'm trying to follow the read me to setup the cached metric list.
If I set something like this
const promQL = new PromQLExtension().setComplete({     remote: {         cache: {             initialMetricList: [                 'metric1',                 'metric2'             ]         }     } }
the autocomplete won't work anymore, for example if I type in ra, it doesn't auto suggest the rate function.
And if I remove the remote block completely, then I see the autocomplete is working again.
const promQL = new PromQLExtension().setComplete({     maxMetricsMetadata: 10000, });
Any idea on what I'm missing in my setup?
Thank you

Hello,
Thanks for reporting this issue. There is indeed a problem. I think if you open the browser console you should see an error like this one :
TypeError: this.prometheusClient.metricNames is not a function
A workaround for the moment would be to set the url with an empty quote like that { remote: { url: '', cache: { initialMetricList: ['metric1', 'metric2', 'rat'] } } }

authors: Nexucis stenwolf

repo: prometheus/codemirror-promql


text:
SSL and auth for Prometheus API

Hey all! I know this has been discussed before, and was previously listed as a non goal in #149. However, I saw that it was discussed at the Prometheus Dev Summit 2018, and it looked like it might be back on the table to at least allow the option of specifying client certs and doing mutual TLS for the API? Is my understanding around this correct, and is this indeed on the road map? If so, has any work been done for it yet?
My team and I would be happy to contribute to this work. If there is not a plan already, our thoughts were that it could be off by default (backwards-compatibility), but if a server cert and key plus a CA were specified, the API would require valid client certs.

You're looking for https://github.com/prometheus/node_exporter/pull/1277

@brian-brazil thanks so much, exactly what I was looking for. Closing.

authors: brian-brazil trevorwhitney

repo: prometheus/docs


text:
[WIP] TSDB documentation

This PR is intended as a focal point for collaboration.

I'd have to agree that part of this is very advanced internals information that isn't relevant for most users in the "Concepts" section. Coincidentally we already have https://prometheus.io/docs/prometheus/latest/storage/#local-storage, which goes into some internal details of the local storage / TSDB. Some of the information in this PR would be better placed there IMO.

@juliusv @brian-brazil @RichiH Could everyone please refrain from commenting on this PR at this time? This is literally just some notes that I took when reading the Google doc that was being passed around. I suppose different projects have different interpretations of what "WIP" means. It seems to me that "WIP" in the Prometheus ecosystem means "open for review." In the future I'll be more careful about this, but for now, this PR is meant only for visibility and not for review.

Ah, good to know! WIP for us usually is interpreted as "leave general high level comments, don't expect things to be done yet, don't merge this yet.".

Thank you for your contribution. Closing this pull request due to lack of recent activity, but we'd be happy if you want to pick up the work again. In that case please make the requested changes, ensure all tests pass, and re-open the PR.

authors: grobie juliusv lucperkins


text:
Can't scrape stats but curl is working

Hi guys,
I'm not able to scrape data with haproxy_exporter but my curl is working properly. I tried with 0.9.0 and master versions from https://hub.docker.com/r/prom/haproxy-exporter
docker logs output:
# curl localhost:9101/metrics

time="2018-08-20T19:47:17Z" level=info msg="Starting haproxy_exporter (version=0.9.0, branch=master, revision=44e70a0ba99f1443a406073f6e41b372e5e02fd5)" source="haproxy_exporter.go:508"
time="2018-08-20T19:47:17Z" level=info msg="Build context (go=go1.10.3, user=root@956ee5a5616a, date=20180807-19:25:22)" source="haproxy_exporter.go:509"
time="2018-08-20T19:47:17Z" level=info msg="Listening on :9101" source="haproxy_exporter.go:534"
time="2018-08-20T19:48:25Z" level=error msg="Can't scrape HAProxy: Get http://xxx:xxxx@10.131.6.60:1984/haproxy?stats;csv: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)" source="haproxy_exporter.go:328"

curl output:
# curl "http://xxx:xxxx@10.131.6.60:1984/haproxy?stats;csv"

# pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,check_status,check_code,check_duration,hrsp_1xx,hrsp_2xx,hrsp_3xx,hrsp_4xx,hrsp_5xx,hrsp_other,hanafail,req_rate,req_rate_max,req_tot,cli_abrt,srv_abrt,comp_in,comp_out,comp_byp,comp_rsp,lastsess,last_chk,last_agt,qtime,ctime,rtime,ttime,
stats,FRONTEND,,,1,1,2000,2,184,23802,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,1,0,1,,,,0,1,0,0,0,0,,1,1,2,,,0,0,0,0,,,,,,,,
stats,BACKEND,0,0,0,0,200,0,184,23802,0,0,,0,0,0,0,UP,0,0,0,,0,1229393,0,,1,2,0,,0,,1,0,,0,,,,0,0,0,0,0,0,,,,,0,0,0,0,0,0,0,,,0,0,0,0,
portalredirect,FRONTEND,,,0,2,2000,15,2063,4133,0,0,9,,,,,OPEN,,,,,,,,,1,3,0,,,,0,0,0,2,,,,0,0,5,10,0,0,,0,2,15,,,0,0,0,0,,,,,,,,
portalredirect,controller001,0,0,0,1,,2,618,770,,0,,0,0,0,0,UP,1,1,0,0,0,1229393,0,,1,3,1,,2,,2,0,,1,L7OK,301,3,0,0,2,0,0,0,0,,,,0,0,,,,,1226516,Moved Permanently,,0,0,0,1,
portalredirect,controller002,0,0,0,1,,2,391,710,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,3,2,,2,,2,0,,1,L7OK,301,3,0,0,1,1,0,0,0,,,,0,0,,,,,1224142,Moved Permanently,,0,1,0,1,
portalredirect,controller003,0,0,0,1,,2,1054,770,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,3,3,,2,,2,0,,1,L7OK,301,3,0,0,2,0,0,0,0,,,,0,0,,,,,1222380,Moved Permanently,,0,0,0,0,
portalredirect,BACKEND,0,0,0,1,200,6,2063,4133,0,0,,0,0,0,0,UP,3,3,0,,0,1229393,0,,1,3,0,,6,,1,0,,1,,,,0,0,5,1,0,0,,,,,0,0,0,0,0,0,1222380,,,0,0,0,1,
portal,FRONTEND,,,0,15,2000,342,1063917,6461543,0,0,0,,,,,OPEN,,,,,,,,,1,4,0,,,,0,0,0,6,,,,,,,,,,,0,0,0,,,0,0,0,0,,,,,,,,
portal,controller001,0,0,0,2,,41,34032,313825,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,4,1,,41,,2,0,,2,L4OK,,2,,,,,,,0,,,,3,0,,,,,1221784,,,0,0,0,378,
portal,controller002,0,0,0,13,,227,709898,4189785,,0,,0,3,10,0,UP,1,1,0,1,0,1229393,0,,1,4,2,,217,,2,0,,6,L4OK,,2,,,,,,,0,,,,77,3,,,,,1221692,,,8,6,0,24114,
portal,controller003,0,0,0,10,,84,319987,1957933,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,4,3,,84,,2,0,,5,L4OK,,2,,,,,,,0,,,,23,0,,,,,1221771,,,0,0,0,13303,
portal,BACKEND,0,0,0,15,200,342,1063917,6461543,0,0,,0,3,10,0,UP,3,3,0,,0,1229393,0,,1,4,0,,342,,1,0,,6,,,,,,,,,,,,,,103,3,0,0,0,0,1221692,,,7,4,0,22542,

Thanks for your help.

Can you also curl from within the container, or at least a container
running in the same place? How long does the curl take (try time curl -o /dev/ null …)?
On Mon, Aug 20, 2018, 21:50 Gaëtan Trellu notifications@github.com wrote:

Hi guys,
I'm not able to scrape data with haproxy_exporter but my curl is working
properly. I tried with 0.9.0 and master versions from
https://hub.docker.com/r/prom/haproxy-exporter
docker logs output:
time="2018-08-20T19:47:17Z" level=info msg="Starting haproxy_exporter (version=0.9.0, branch=master, revision=44e70a0ba99f1443a406073f6e41b372e5e02fd5)" source="haproxy_exporter.go:508"
time="2018-08-20T19:47:17Z" level=info msg="Build context (go=go1.10.3, user=root@956ee5a5616a, date=20180807-19:25:22)" source="haproxy_exporter.go:509"
time="2018-08-20T19:47:17Z" level=info msg="Listening on :9101" source="haproxy_exporter.go:534"
time="2018-08-20T19:48:25Z" level=error msg="Can't scrape HAProxy: Get http://xxx:xxxx@10.131.6.60:1984/haproxy?stats;csv: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)" source="haproxy_exporter.go:328"
curl output:
curl "http://xxx:xxx@10.131.6.60:1984/haproxy?stats;csv"
pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,check_status,check_code,check_duration,hrsp_1xx,hrsp_2xx,hrsp_3xx,hrsp_4xx,hrsp_5xx,hrsp_other,hanafail,req_rate,req_rate_max,req_tot,cli_abrt,srv_abrt,comp_in,comp_out,comp_byp,comp_rsp,lastsess,last_chk,last_agt,qtime,ctime,rtime,ttime,
stats,FRONTEND,,,1,1,2000,2,184,23802,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,1,0,1,,,,0,1,0,0,0,0,,1,1,2,,,0,0,0,0,,,,,,,,
stats,BACKEND,0,0,0,0,200,0,184,23802,0,0,,0,0,0,0,UP,0,0,0,,0,1229393,0,,1,2,0,,0,,1,0,,0,,,,0,0,0,0,0,0,,,,,0,0,0,0,0,0,0,,,0,0,0,0,
portalredirect,FRONTEND,,,0,2,2000,15,2063,4133,0,0,9,,,,,OPEN,,,,,,,,,1,3,0,,,,0,0,0,2,,,,0,0,5,10,0,0,,0,2,15,,,0,0,0,0,,,,,,,,
portalredirect,controller001,0,0,0,1,,2,618,770,,0,,0,0,0,0,UP,1,1,0,0,0,1229393,0,,1,3,1,,2,,2,0,,1,L7OK,301,3,0,0,2,0,0,0,0,,,,0,0,,,,,1226516,Moved
Permanently,,0,0,0,1,
portalredirect,controller002,0,0,0,1,,2,391,710,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,3,2,,2,,2,0,,1,L7OK,301,3,0,0,1,1,0,0,0,,,,0,0,,,,,1224142,Moved
Permanently,,0,1,0,1,
portalredirect,controller003,0,0,0,1,,2,1054,770,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,3,3,,2,,2,0,,1,L7OK,301,3,0,0,2,0,0,0,0,,,,0,0,,,,,1222380,Moved
Permanently,,0,0,0,0,
portalredirect,BACKEND,0,0,0,1,200,6,2063,4133,0,0,,0,0,0,0,UP,3,3,0,,0,1229393,0,,1,3,0,,6,,1,0,,1,,,,0,0,5,1,0,0,,,,,0,0,0,0,0,0,1222380,,,0,0,0,1,
portal,FRONTEND,,,0,15,2000,342,1063917,6461543,0,0,0,,,,,OPEN,,,,,,,,,1,4,0,,,,0,0,0,6,,,,,,,,,,,0,0,0,,,0,0,0,0,,,,,,,,
portal,controller001,0,0,0,2,,41,34032,313825,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,4,1,,41,,2,0,,2,L4OK,,2,,,,,,,0,,,,3,0,,,,,1221784,,,0,0,0,378,
portal,controller002,0,0,0,13,,227,709898,4189785,,0,,0,3,10,0,UP,1,1,0,1,0,1229393,0,,1,4,2,,217,,2,0,,6,L4OK,,2,,,,,,,0,,,,77,3,,,,,1221692,,,8,6,0,24114,
portal,controller003,0,0,0,10,,84,319987,1957933,,0,,0,0,0,0,UP,1,1,0,1,0,1229393,0,,1,4,3,,84,,2,0,,5,L4OK,,2,,,,,,,0,,,,23,0,,,,,1221771,,,0,0,0,13303,
portal,BACKEND,0,0,0,15,200,342,1063917,6461543,0,0,,0,3,10,0,UP,3,3,0,,0,1229393,0,,1,4,0,,342,,1,0,,6,,,,,,,,,,,,,,103,3,0,0,0,0,1221692,,,7,4,0,22542,
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/haproxy_exporter/issues/127, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAICBkhnrq4HVv2x_ep8eGzL32bTE3SJks5uSxMegaJpZM4WEmuZ
.

@matthiasr The curl took less than 1s, the issue was the one you pointed. The container was not able to get the endpoint...
Thanks ! :)

authors: goldyfruit matthiasr


text:
Handle cpufreq files with  values.

Some systems produce <unknown> values for cpufreq files.
See: https://github.com/prometheus/node_exporter/issues/1710

Any progress on this issue ?

I don't think so, feel free to submit a PR to fix this

authors: SuperQ Xphobia discordianfish

repo: prometheus/procfs


text:
Fix CPUVulnerabilities() reporting from sysfs

closes #531
This PR contains a few changes (each in a separate commit):

adds fixtures and tests for parsing cpu vulnerabilities from sysfs, fixes the typo in the vulnerability string
switches to using a map of vulnerabilities instead of a slice (makes working with the result easier, e.g. when testing)
switches to using encoding of the state
adds license in the test file
adds linux build flags
adds test cases for vulnerable state, brings state string to lower cases (to try and make it case insensitive)

@discordianfish @SuperQ is there anything else I can help with here?

rebased onto upstream

the codespell job is failing, but it's unrelated to this change
Here's the job definition: https://github.com/prometheus/procfs/blob/abbfda0b3c04c4536faa158b44a4047e357ede23/.circleci/config.yml#L38-L45
the docker image hasn't changed recently: https://hub.docker.com/r/circleci/python/tags
codespell pip package was updated yesterday: https://pypi.org/project/codespell/#history
I think this is unrelated and should be handled in a separate issue/PR. I'll open a separate one

Going to ignore the codespell, it's fixed in HEAD.


text:
Prometheus does not start: Opening storage failed invalid block sequence

Bug Report
After restarting Prometheus, it couldn't manage to startup (that's quite sad with 1.5TB local data). It has been running on 2.3 version for a week now, and upgrade to 2.3.1 didn't help.
We have HA Prometheus setup and the other instance (v2.1.0) is running just perfectly fine.
Environment

System information:

Prometheus is running in Docker (Docker version 1.13.0, build 49bf474) on CentOS (7.4.1708).
Linux 3.10.0-514.6.1.el7.x86_64 x86_64

Prometheus version:

version=2.3.1, branch=HEAD, revision=188ca45bd85ce843071e768d855722a9d9dabe03

Logs:

level=info ts=2018-06-29T05:42:47.874516727Z caller=main.go:222 msg="Starting Prometheus" version="(version=2.3.1, branch=HEAD, revision=188ca45bd85ce843071e768d855722a9d9dabe03)"
level=info ts=2018-06-29T05:42:47.874611131Z caller=main.go:223 build_context="(go=go1.10.3, user=root@82ef94f1b8f7, date=20180619-15:56:22)"
level=info ts=2018-06-29T05:42:47.87463482Z caller=main.go:224 host_details="(Linux 3.10.0-514.6.1.el7.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64 4da5295cfc49 (none))"
level=info ts=2018-06-29T05:42:47.874664035Z caller=main.go:225 fd_limits="(soft=65536, hard=65536)"
level=info ts=2018-06-29T05:42:47.87602246Z caller=web.go:415 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2018-06-29T05:42:47.875990629Z caller=main.go:514 msg="Starting TSDB ..."
level=info ts=2018-06-29T05:42:47.876915963Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1524873600000 maxt=1524938400000 ulid=01CC6T4QA264XXY06Y9FGJA6Y6
level=info ts=2018-06-29T05:42:47.87698551Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1524938400000 maxt=1525003200000 ulid=01CC8QXXBDJEW4KE1B0XTB9GN5
level=info ts=2018-06-29T05:42:47.877031253Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525003200000 maxt=1525068000000 ulid=01CCANQJPRY3C2T2ZJX8JGG6T7
level=info ts=2018-06-29T05:42:47.877091724Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525068000000 maxt=1525262400000 ulid=01CCGF8JYFBPYQY3MKMG5D07MH
level=info ts=2018-06-29T05:42:47.877148247Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525262400000 maxt=1525456800000 ulid=01CCP8MXJDJ6X4DXDPAPAYYZZ6
level=info ts=2018-06-29T05:42:47.87720284Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525456800000 maxt=1525651200000 ulid=01CCW215PSGPS4XG9YNAH1XZ9R
level=info ts=2018-06-29T05:42:47.877257559Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525651200000 maxt=1525845600000 ulid=01CD1VEH75RQCP1DZQB3Q6DEXQ
level=info ts=2018-06-29T05:42:47.877312083Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1525845600000 maxt=1526040000000 ulid=01CD7MV6ZMNAGV2AY5XXSGDHQC
level=info ts=2018-06-29T05:42:47.877366476Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1526040000000 maxt=1526234400000 ulid=01CDDE7KTFE65TCXNK9GP279BQ
level=info ts=2018-06-29T05:42:47.877421121Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1526234400000 maxt=1526428800000 ulid=01CDK7M8KPGRTKABFK8SPB342V
level=info ts=2018-06-29T05:42:47.87749242Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1526428800000 maxt=1526623200000 ulid=01CDS11974525DAHSYYC3GMJXG
level=info ts=2018-06-29T05:42:47.877558161Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1526623200000 maxt=1526817600000 ulid=01CDYTDPYYSAW8YVQH0CVNVC9F
level=info ts=2018-06-29T05:42:47.877622592Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1526817600000 maxt=1527012000000 ulid=01CE4KTTBVM8ND1KM0BD07K8DC
level=info ts=2018-06-29T05:42:47.877684055Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527012000000 maxt=1527206400000 ulid=01CEAD77M8BDW92NXFZ2E07E9T
level=info ts=2018-06-29T05:42:47.877744944Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527206400000 maxt=1527400800000 ulid=01CEG6KRKRNR8Z670BPHWFQ1NB
level=info ts=2018-06-29T05:42:47.877806268Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527400800000 maxt=1527595200000 ulid=01CEP00V2778QM9EA1WP3ADGHZ
level=info ts=2018-06-29T05:42:47.877866166Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527595200000 maxt=1527789600000 ulid=01CEVSDBRPEANB1N5H251D698Z
level=info ts=2018-06-29T05:42:47.877939432Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527789600000 maxt=1527984000000 ulid=01CF1JTRAEPGGBDA4ZCGZZ2ZP4
level=info ts=2018-06-29T05:42:47.878000643Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1527984000000 maxt=1528178400000 ulid=01CF7C7CVPCCS6VN3A5Q2TY4VG
level=info ts=2018-06-29T05:42:47.878062404Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1528178400000 maxt=1528372800000 ulid=01CFD5KHYBW2N7CBB1R7R6DYE3
level=info ts=2018-06-29T05:42:47.878123757Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1528372800000 maxt=1528567200000 ulid=01CFJZ5NX4D0EB8VDHPVWSY9JT
level=info ts=2018-06-29T05:42:47.878193538Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1528567200000 maxt=1528761600000 ulid=01CFRRJJAT0PBKK6Z6HSFX51ZD
level=info ts=2018-06-29T05:42:47.878261655Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1528761600000 maxt=1528956000000 ulid=01CFYRSMJX7TJPGHQRF7RM7GDS
level=info ts=2018-06-29T05:42:47.878325809Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1528956000000 maxt=1529150400000 ulid=01CG4J4SKHVGTGQDNFRBVJSCHD
level=info ts=2018-06-29T05:42:47.878386708Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1529150400000 maxt=1529344800000 ulid=01CGABHZCXX219YYV1GNGH4T3P
level=info ts=2018-06-29T05:42:47.878461579Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1529344800000 maxt=1529539200000 ulid=01CGG4ZHR1Y9G3CM5D16RJMPBB
level=info ts=2018-06-29T05:42:47.878528372Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1529539200000 maxt=1529733600000 ulid=01CGNYC3YDTWASN55F8XF4Z22R
level=info ts=2018-06-29T05:42:47.878589781Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1529733600000 maxt=1529928000000 ulid=01CGVQRM4G5GSE74CMG3ARWD2D
level=info ts=2018-06-29T05:42:47.878653241Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1529928000000 maxt=1530122400000 ulid=01CH1H57YV29TJF7HHHCQ5PNRJ
level=info ts=2018-06-29T05:42:47.878696161Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1530122400000 maxt=1530144000000 ulid=01CH25EFB1HFA8KWPH4D31WFV8
level=info ts=2018-06-29T05:42:47.878738139Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1530144000000 maxt=1530165600000 ulid=01CH2T1CRDR48BE57SJJ3MWCN1
level=info ts=2018-06-29T05:42:47.878778122Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1530187200000 maxt=1530194400000 ulid=01CH3EH0DNEBYGQ928FJ69JN7T
level=info ts=2018-06-29T05:42:47.878819258Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1530165600000 maxt=1530187200000 ulid=01CH3EN9XXC5JSSXNTERE5NVM4
level=info ts=2018-06-29T05:42:47.878874239Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1530122400000 maxt=1530187200000 ulid=01CH3F08F417H0GGM056PF3FKS
level=info ts=2018-06-29T05:42:52.251098703Z caller=main.go:402 msg="Stopping scrape discovery manager..."
level=info ts=2018-06-29T05:42:52.251154781Z caller=main.go:416 msg="Stopping notify discovery manager..."
level=info ts=2018-06-29T05:42:52.251165314Z caller=main.go:438 msg="Stopping scrape manager..."
level=info ts=2018-06-29T05:42:52.251185958Z caller=manager.go:464 component="rule manager" msg="Stopping rule manager..."
level=info ts=2018-06-29T05:42:52.251198231Z caller=manager.go:470 component="rule manager" msg="Rule manager stopped"
level=info ts=2018-06-29T05:42:52.251208823Z caller=notifier.go:512 component=notifier msg="Stopping notification manager..."
level=info ts=2018-06-29T05:42:52.251223998Z caller=main.go:588 msg="Notifier manager stopped"
level=info ts=2018-06-29T05:42:52.251207307Z caller=main.go:432 msg="Scrape manager stopped"
level=info ts=2018-06-29T05:42:52.251224054Z caller=main.go:412 msg="Notify discovery manager stopped"
level=info ts=2018-06-29T05:42:52.251247707Z caller=main.go:398 msg="Scrape discovery manager stopped"
level=error ts=2018-06-29T05:42:52.251604683Z caller=main.go:597 err="Opening storage failed invalid block sequence: block time ranges overlap: [mint: 1530122400000, maxt: 1530144000000, range: 6h0m0s, blocks: 2]: <ulid: 01CH25EFB1HFA8KWPH4D31WFV8, mint: 1530122400000, maxt: 1530144000000, range: 6h0m0s>, <ulid: 01CH3F08F417H0GGM056PF3FKS, mint: 1530122400000, maxt: 1530187200000, range: 18h0m0s>\n[mint: 1530144000000, maxt: 1530165600000, range: 6h0m0s, blocks: 2]: <ulid: 01CH3F08F417H0GGM056PF3FKS, mint: 1530122400000, maxt: 1530187200000, range: 18h0m0s>, <ulid: 01CH2T1CRDR48BE57SJJ3MWCN1, mint: 1530144000000, maxt: 1530165600000, range: 6h0m0s>\n[mint: 1530165600000, maxt: 1530187200000, range: 6h0m0s, blocks: 2]: <ulid: 01CH3F08F417H0GGM056PF3FKS, mint: 1530122400000, maxt: 1530187200000, range: 18h0m0s>, <ulid: 01CH3EN9XXC5JSSXNTERE5NVM4, mint: 1530165600000, maxt: 1530187200000, range: 6h0m0s>"
level=info ts=2018-06-29T05:42:52.251663561Z caller=main.go:599 msg="See you next time!"

Is there a way to start Prometheus by skipping broken blocks?

Can you share the steps to reproduce this?
did it crash before this or was it OOM killed?
The logs before this happened would be useful.
as a workaround I have attached  a tool I have been working on which should allow you to delete the overlapping blocks and allow a normal startup
It is still WIP and probably broken in many places so use at your own risk!
tsdb scan -h /path/to/data
tsdbScan.tar.gz

Looks like #4302

From the metrics, it seems that Prometheus got very hungry for memory (host has 32GB RAM):

Unfortunately I do not have the logs before the event as I've done the upgrade.
Can you share the source code of tsdbScan? I'm not feeling that lucky running something blackbox in my environment :)

it is still WIP, but here is the code
https://github.com/prometheus/tsdb/pull/320

if you can it might be even best to compile from that PR as it includes more recent code.

Running into this issue again
level=info ts=2019-02-04T13:01:25.694250286Z caller=main.go:238 msg="Starting Prometheus" version="(version=2.4.3, branch=HEAD, revision=167a4b4e73a8eca8df648d2d2043e21bdb9a7449)"
level=info ts=2019-02-04T13:01:25.694299087Z caller=main.go:239 build_context="(go=go1.11.1, user=root@1e42b46043e9, date=20181004-08:42:02)"
level=info ts=2019-02-04T13:01:25.694316525Z caller=main.go:240 host_details="(Linux 4.4.0-1054-aws #63-Ubuntu SMP Wed Mar 28 19:42:42 UTC 2018 x86_64 prometheus-kube-prometheus-0 (none))"
level=info ts=2019-02-04T13:01:25.694335436Z caller=main.go:241 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2019-02-04T13:01:25.694351359Z caller=main.go:242 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-02-04T13:01:25.694825418Z caller=main.go:554 msg="Starting TSDB ..."
level=info ts=2019-02-04T13:01:25.694856556Z caller=web.go:397 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2019-02-04T13:01:25.696252804Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547964000000 maxt=1547971200000 ulid=01D1N7SWPVK1V3PF7P3M2S0DN3
level=info ts=2019-02-04T13:01:25.69630669Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547971200000 maxt=1547978400000 ulid=01D1NENKYTXCG25J6XVBJ93AYA
level=info ts=2019-02-04T13:01:25.696340578Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547978400000 maxt=1547985600000 ulid=01D1NNHB6TFFMP6R54GKEG5SND
level=info ts=2019-02-04T13:01:25.696370836Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547985600000 maxt=1547992800000 ulid=01D1NWD2G7TTT8EB69FW1A419Y
level=info ts=2019-02-04T13:01:25.696399703Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547992800000 maxt=1548000000000 ulid=01D1P38SRA374254F04YST2JV8
level=info ts=2019-02-04T13:01:25.696428285Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548000000000 maxt=1548007200000 ulid=01D1PA4GXPWN9WMB9HEY1AHSCF
level=info ts=2019-02-04T13:01:25.696456944Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548007200000 maxt=1548014400000 ulid=01D1PH0869D9C3GBSMX1A4DTDS
level=info ts=2019-02-04T13:01:25.696487497Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548014400000 maxt=1548021600000 ulid=01D1PQVZE9CJ3Z2P2DZZHX15RX
level=info ts=2019-02-04T13:01:25.696516275Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548021600000 maxt=1548028800000 ulid=01D1PYQPP9ZP9W5HBEKEH2ZM2Q
level=info ts=2019-02-04T13:01:25.696544626Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548028800000 maxt=1548036000000 ulid=01D1Q5KDY92GY4PSP2R5GH5W37

using: kube-prometheus/jsonnet
prometheus version: prometheus:v2.4.3
k8s versions:
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2", GitCommit:"17c77c7898218073f14c8d573582e8d2313dc740", GitTreeState:"clean", BuildDate:"2018-10-30T21:39:38Z", GoVersion:"go1.11.1", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
```

@Hashfyre please open a new issue with more details.
Your logs don't show any errors.

cc @krasi-georgiev let me know if I can provide more context.

This could be due to many reasons - large WAL file could be one of them(it could take few minutes to read a large WAL file.).
If this happens on 2.7 please open a new issue and we can troubleshoot when you add more details.
Thanks.

@krasi-georgiev our issue seems to mimick https://github.com/prometheus/prometheus/issues/4003
as of now.

unless you open a new issue including all relevant details don't think anyone would spend the time for a proper troubleshooting.

Running into this issue again
level=info ts=2019-02-04T13:01:25.694250286Z caller=main.go:238 msg="Starting Prometheus" version="(version=2.4.3, branch=HEAD, revision=167a4b4e73a8eca8df648d2d2043e21bdb9a7449)"
level=info ts=2019-02-04T13:01:25.694299087Z caller=main.go:239 build_context="(go=go1.11.1, user=root@1e42b46043e9, date=20181004-08:42:02)"
level=info ts=2019-02-04T13:01:25.694316525Z caller=main.go:240 host_details="(Linux 4.4.0-1054-aws #63-Ubuntu SMP Wed Mar 28 19:42:42 UTC 2018 x86_64 prometheus-kube-prometheus-0 (none))"
level=info ts=2019-02-04T13:01:25.694335436Z caller=main.go:241 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2019-02-04T13:01:25.694351359Z caller=main.go:242 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2019-02-04T13:01:25.694825418Z caller=main.go:554 msg="Starting TSDB ..."
level=info ts=2019-02-04T13:01:25.694856556Z caller=web.go:397 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2019-02-04T13:01:25.696252804Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547964000000 maxt=1547971200000 ulid=01D1N7SWPVK1V3PF7P3M2S0DN3
level=info ts=2019-02-04T13:01:25.69630669Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547971200000 maxt=1547978400000 ulid=01D1NENKYTXCG25J6XVBJ93AYA
level=info ts=2019-02-04T13:01:25.696340578Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547978400000 maxt=1547985600000 ulid=01D1NNHB6TFFMP6R54GKEG5SND
level=info ts=2019-02-04T13:01:25.696370836Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547985600000 maxt=1547992800000 ulid=01D1NWD2G7TTT8EB69FW1A419Y
level=info ts=2019-02-04T13:01:25.696399703Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1547992800000 maxt=1548000000000 ulid=01D1P38SRA374254F04YST2JV8
level=info ts=2019-02-04T13:01:25.696428285Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548000000000 maxt=1548007200000 ulid=01D1PA4GXPWN9WMB9HEY1AHSCF
level=info ts=2019-02-04T13:01:25.696456944Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548007200000 maxt=1548014400000 ulid=01D1PH0869D9C3GBSMX1A4DTDS
level=info ts=2019-02-04T13:01:25.696487497Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548014400000 maxt=1548021600000 ulid=01D1PQVZE9CJ3Z2P2DZZHX15RX
level=info ts=2019-02-04T13:01:25.696516275Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548021600000 maxt=1548028800000 ulid=01D1PYQPP9ZP9W5HBEKEH2ZM2Q
level=info ts=2019-02-04T13:01:25.696544626Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1548028800000 maxt=1548036000000 ulid=01D1Q5KDY92GY4PSP2R5GH5W37

using: kube-prometheus/jsonnet
prometheus version: prometheus:v2.4.3
k8s versions:
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2", GitCommit:"17c77c7898218073f14c8d573582e8d2313dc740", GitTreeState:"clean", BuildDate:"2018-10-30T21:39:38Z", GoVersion:"go1.11.1", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}

Do you find any solution?
I think we have similar issue but I can't find more details about this issue.
https://github.com/prometheus/prometheus/issues/5727

I have not seen any issues with Prometheus that don't lead to some error logs or a panic so you need to dig deeper why is it restarted in he k8s env.
Locking this issue now as it is quite outdated and best to discuss in a fresh one.

authors: Hashfyre Kirchen99 apsega brian-brazil krasi-georgiev

repo: prometheus/prometheus


text:
Targets UI page fails to render IPv6 link-local addresses with a Zone ID specified

What did you do?
Specified a target via file_sd with address [fe80::f1ee:adeb:371d:983%eth1]:9100
What did you expect to see?
The target listed correctly on the /targets status page
What did you see instead? Under which circumstances?
The target was scraped correctly and data is available but the target page shows Error: Failed to construct 'URL': Invalid URL

Environment

System information:

Linux 4.19.0-17-amd64 x86_64

Prometheus version:

prometheus, version 2.30.3 (branch: HEAD, revision: f29caccc42557f6a8ec30ea9b3c8c089391bd5df)                                                                  │# HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
  build user:       root@5cff4265f0e3                                                                                │# TYPE promhttp_metric_handler_errors_total counter
  build date:       20211005-16:10:52                                                                                │promhttp_metric_handler_errors_total{cause="encoding"} 0
  go version:       go1.17.1                                                                                │promhttp_metric_handler_errors_total{cause="gathering"} 0
  platform:         linux/amd64

Prometheus configuration file:

Contents of file_sd/test_job.yml:
[
  {
    "labels": {
      "job": "test_job"
    },
    "targets": [
      "[fe80::f1ee:adeb:371d:983%eth1]:9100"
    ]
  }
]

Logs:

No relevant logs as this appears to be a frontend issue, there are no errors in the Chrome dev tools console.

This happens because the native Javascript URL class doesn't seem to support IPv6.
https://github.com/prometheus/prometheus/blob/8b25e35a3edbce8eb23c8c855973dfe81171bee7/web/ui/react-app/src/pages/targets/EndpointLink.tsx#L12

I think it's specific to IPv6 with zone IDs - it does render correctly with an IPv6 address without a zone ID (the %eth1 part in my example). This is required for link-local addresses, but isn't actually supported in URLs in most browsers. So even if it was rendered correctly it would result in a URL that most browsers would refuse to navigate to. Not sure if that really matters though since that's not exactly Prometheus' fault.

I think it's specific to IPv6 with zone IDs - it does render correctly with an IPv6 address without a zone ID (the %eth1 part in my example).

Ah OK.

So even if it was rendered correctly it would result in a URL that most browsers would refuse to navigate to. Not sure if that really matters though since that's not exactly Prometheus' fault.

If Prometheus can scrape a target using the URL, we should be able to display it. There are lots of instances where URLs might not be accessible from the browser, like if the targets are on a different network or require authentication.

We have looked at this during the bug scrub. We should indeed display it if we can scrape it, even if this sounds like a niche use case. if the fix is not too complex, let's fix it.

I'd love to try to help out with a PR for this one. Based on looking through the section of code linked to previously, would it be worthwhile to use a synthetic URL to salvage the query parameters for the badges? e.g.
const EndpointLink: FC<EndpointLinkProps> = ({ endpoint, globalUrl }) => {
  let url: URL;
  let search: string = '';
  let invalidURL: boolean = false;
  try {
    url = new URL(endpoint);
  } catch (err: unknown) {
    invalidURL = true;
    if(endpoint.indexOf('?') > -1) search = endpoint.substring(endpoint.indexOf('?'));
    url = new URL('http://0.0.0.0'+search);
  }
  const { host, pathname, protocol, searchParams }: URL = url;
  const params = Array.from(searchParams.entries());
  return (
    <>
      invalidURL && {globalUrl.replace(search,'')}
      !invalidURL && {`${protocol}//${host}${pathname}`}
      {params.length > 0 ?
 : null}
      {params.map(([labelName, labelValue]: [string, string]) => {
        return (
          <Badge color="primary" className="mr-1" key={`${labelName}/${labelValue}`}>
            {`${labelName}="${labelValue}"`}
          </Badge>
        );
      })}
    </>
  );
}

Thanks for taking the time to propose a solution!
I'm not sure that solely URL parameters would be of much use. And, given that they're provided as a configuration option for an entire job, you wouldn't be able to distinguish individual targets.

authors: LeviHarrison ben-wallis mtfoley roidelapluie


text:
Support native histograms in federation

Closes https://github.com/prometheus/prometheus/issues/11213

@beorn7 I updated the docs. I also snuck in the doc changes that had to be part of https://github.com/prometheus/prometheus/pull/11838 but I realised it after merging.


text:
Document new staleness

Remove "interpolation" for this heading, that hasn't
been in these docs for a long time.

:+1: besides the one comment

authors: brian-brazil juliusv