Strange OOM error

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched related issues but cannot get the expected help.
I have read the FAQ documentation but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
During training coco format custom dataset, got OOM error after first time evaluating:
RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB (GPU 0; 11.17 GiB total capacity; 10.49 GiB already allocated; 12.75 MiB free; 10.83 GiB reserved in total by PyTorch)
Traceback (most recent call last):
File "/opt/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/opt/conda/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/opt/conda/lib/python3.7/site-packages/torch/distributed/launch.py", line 261, in
main()
File "/opt/conda/lib/python3.7/site-packages/torch/distributed/launch.py", line 257, in main
cmd=cmd)
subprocess.CalledProcessError: Command '['/opt/conda/bin/python', '-u', './tools/train.py', '--local_rank=1', '/home/data/yolox_nano_2x48_fuse0828_0901.py', '--launcher', 'pytorch']' returned non-zero exit status 1.

Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.

Actually, about 8G/11G memory used on each gpu. totally 2 GPU.
Model config  basicly is yolox-s one, with modifying lr part and optimizer part.
Reproduction
CUDA_VISIBLE_DEVICES=0,1 PORT=29500 ./tools/dist_train.sh xxx/_config.py 2
A placeholder for the command.

Did you make any modifications on the code or config? Did you understand what you have modified?
No  modifications
What dataset did you use?

Environment
docker environment, version 2.15.1
Bug fix
If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!

Maybe because the number of objects in your custom dataset is larger than coco and this will cost more memory.

It's weird. Are there any background processes that may take up GPU memory?

@RangiLyu
Last night I did the training again and found that during training gpu memory usage was increasing.
log below:
2021-09-02 06:24:56,995 - mmdet - INFO - Epoch [1][123/635]     lr: 5.003e-04,memory: 4411
2021-09-02 06:25:10,046 - mmdet - INFO - Epoch [1][124/635]     lr: 5.084e-04,memory: 4411
2021-09-02 06:52:17,390 - mmdet - INFO - Epoch [2][194/635]     lr: 2.272e-02,memory: 8326
2021-09-02 06:52:20,745 - mmdet - INFO - Epoch [2][195/635]     lr: 2.278e-02,memory: 8326
2021-09-02 07:18:20,690 - mmdet - INFO - Epoch [3][215/635]     lr: 7.292e-02, memory: 9394
2021-09-02 07:18:22,235 - mmdet - INFO - Epoch [3][216/635]     lr: 7.302e-02, memory: 9394
2021-09-02 10:33:34,899 - mmdet - INFO - Epoch [10][469/635]    lr: 1.118e-01, memory: 10335
2021-09-02 10:33:36,398 - mmdet - INFO - Epoch [10][470/635]    lr: 1.118e-01, memory: 10335
I just copy part of log line for show
Once I was afraid of OOM error because the 'memory' number was increasing.But now it settle in 10335.
nvidia-smi settle in 11265MiB / 11439MiB
So why memory usage was increasing?

I meet similar during my training:
the net config used yolox_x and 3090 with 24G memery
my dataset have about 4000 pictures with size of 600x600
first batchsize=16 and workers =4, it first used about 21G and OOM at epoch2
so I set batchsize=12 , it used on 16G first and OOM at epoch50
now I set batchsize=8 just like the default
at the beginning it used 11G, now it used about 20G after 20 epochs(now epoch70 )

@RangiLyu
Last night I did the training again and found that during training gpu memory usage was increasing.
log below:
2021-09-02 06:24:56,995 - mmdet - INFO - Epoch [1][123/635] lr: 5.003e-04,memory: 4411
2021-09-02 06:25:10,046 - mmdet - INFO - Epoch [1][124/635] lr: 5.084e-04,memory: 4411
2021-09-02 06:52:17,390 - mmdet - INFO - Epoch [2][194/635] lr: 2.272e-02,memory: 8326
2021-09-02 06:52:20,745 - mmdet - INFO - Epoch [2][195/635] lr: 2.278e-02,memory: 8326
2021-09-02 07:18:20,690 - mmdet - INFO - Epoch [3][215/635] lr: 7.292e-02, memory: 9394
2021-09-02 07:18:22,235 - mmdet - INFO - Epoch [3][216/635] lr: 7.302e-02, memory: 9394
2021-09-02 10:33:34,899 - mmdet - INFO - Epoch [10][469/635] lr: 1.118e-01, memory: 10335
2021-09-02 10:33:36,398 - mmdet - INFO - Epoch [10][470/635] lr: 1.118e-01, memory: 10335
I just copy part of log line for show
Once I was afraid of OOM error because the 'memory' number was increasing.But now it settle in 10335.
nvidia-smi settle in 11265MiB / 11439MiB
So why memory usage was increasing?

maybe the cutmix and mosaic process take expected GPU memery

Seems that there is a potential memory leak? @hhaAndroid did you meet a similar problem during training?

@MoonBunnyZZZ You can temporarily turn off multi-scale training to test whether there is a memory leak.

@hhaAndroid Does  multi-scale training will occur memory leak?  I using memory_prifiler to record the memory usage. It seems pipeline will occur memory leak. Here's my log, after a iter the increment memory seems not be free.
| 153 4223.5156 MiB   0.00000 MiB         1           ...
│156 4272.0000 MiB  48.4844 MiB           1           return self.pipeline(data)
││                                                                                │
Filename: /data/code/research/mmdet/datasets/mycls.py                                 │                                                                                │Line #    Mem usage    Increment  Occurrences   Line Contents                                               │=============================================================
│130 4272.2070 MiB 4272.2070 MiB           1       @profile(precision=4, stream=open('./memory_profiler_my│cls.log','w+'))                                                                                │

Here's my memory record plot

Finally I found the problem. In my own dataset class, I save my img(a numpy.array) as element of dicts. In somehow, it will cause memory leak, and the problem is gone after I return the img directly.
# before
      for i, info in enumerate(img_info):
          img = self._load_img(info['id'])
          img_info[i]['img'] = img
      return img_info
# after
      imgs = []
      for i, info in enumerate(img_info):
         img = self._load_img(info['id'])
          imgs.append(img)
      return img_info, imgs


Pull changes from upstream

Damn what a conflicts... Seems like everything is working as it should!
Includes a few nice features like working non blocking ssl sockets, this seems to speed up the experience.
Who else can test this?

And yes: get_it_all still works


Missing 'id' for the reCAPTCHA

Please change line #158 in /libraries/Recaptcha.php
from:
return '

';
to:
return '

';
to give the DIV an ID so it can be accessible VIA jQuery and/or other frameworks.

@abuzant I will take it.

@abuzant Maybe you should try
getWidget(array("id" => "g-recaptcha"))


Update protection-settings-for-windows-10-pcs.md

Correct a typo from "1. SGo to the admin center at" to "1. Go to the admin center at"

@Sirkkuw - PR is ready for final review. Please check on this PR once you're back from your VL. Thank you.


hasDocument and hasErrors shouldn't throw exceptions

hasDocument and hasErrors shouldn't throw exceptions if something wrong with structure of response, but it does
and breaks logic without chance to check programmatically does response returned some document or something else

Hi,
It definitely a bug in the code so I'll have a look!

@baltun Could you share what kind of exception is thrown? As far as I see, only the serializer could throw an exception.

when API returns something like this wrong for JSONAPI data:
{
"data": {
"deletedId": 123
}
}
then it throws exception like:
ErrorException (E_NOTICE)
Undefined index: id
/var/www/mdworkflow/vendor/woohoolabs/yang/src/JsonApi/Schema/Resource/ResourceObject.php
138.        $id = isset($array["id"]) && is_string($array["id"]) ? $array["id"] : (string)$array["id"];

Aha, I see, thanks for the stacktrace! The exception is thrown because of the Notice about the Undefined index: id.
However, I checked this line and Yang never had it in this form ( instead of (string)$array["id"] it contains ""). Which version of the library do you use? Isn't this line somehow got changed for you?

I am closing this issue because of inactivity. Please share with me if you still think it's an issue.


Minimum Integer value -2147483648 can not be selected as a literal

The the minimum Integer value -2147483648 can not be selected as a literal.
Run the following CQL:
define x: minimum Integer
define y: -2147483648

Expected result:
x: -2147483648
y: -2147483648

Actual result:
x: -2147483648
y: java.lang.NumberFormatException: For input string: "2147483648"

These failing CQL Engine tests reflect this bug:

CqlArithmeticFunctionsTest -> IntegerMinValue

The root of the problem is that the Translator parses -2147483648
not as a single literal but rather as a Negate operator call paired
with a positive Integer literal, and then the CQL Engine has a runtime
numeric overflow exception trying to parse the ELM in question.
      <def name="y" context="Population" accessLevel="Public">
         <expression xsi:type="Negate">
            <operand valueType="t:Integer" value="2147483648" xsi:type="Literal"/>
         </expression>
      </def>

The proper fix for this would be in the Translator.
A kludge fix for this would be in the Engine that special cases any
occurrances in input ELM of a "Negate" operator call paired with a numeric literal
such that it factors them into a negated literal before converting to a number.

Fixed in #87


[joss][ui] numeric input

Part of: https://github.com/openjournals/joss-reviews/issues/6336
Currently, the threshold inputs are of type text. Given you are providing min and max, I assume it will always be a number. I'd suggest to change the field type to "number", so 1) the range is applied, and 2) no other values are provided (e.g. characters).
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number

Thank you for the suggestion. We implemented this change of input type from text to number in commit #ffbda69


feat(linter): eslint-plugin-react: no-direct-mutation-state

#1022
try to implement no-direct-mutation-state

code: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/lib/rules/no-direct-mutation-state.js
doc: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md
test: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/tests/lib/rules/no-direct-mutation-state.js

when i try to rebase main branch, throw a error.

I could run normally before rebase, so I judged that it was not caused by me and initiated merge request

when i try to rebase main branch, throw a error.
I could run normally before rebase, so I judged that it was not caused by me and initiated merge request

Hmm - says it's a network error? does hitting https://index.crates.io work in a browser?

when i try to rebase main branch, throw a error.
I could run normally before rebase, so I judged that it was not caused by me and initiated merge request

Hmm - says it's a network error? does hitting https://index.crates.io work in a browser?
Edit: also CI passed so i think it's probably fine

Running the cargo test on the main branch also results in an error, maybe it's my local network cause this error.


Documentation

Hi guys,
I'm really interested in your project, because it has a lot of potentials. :)
Due that fact, I have to ask, when do you plan to release some kind of documentation? Any getting started? Would be really helpful! :)

Unfortunately, we don't have a lot of doc.
What you can do is to look at the distribution-with-example. It includes a simple example.
If you want to contribute some documentation, you're welcome !

An Example how to write an easy service, which can be used by the website is missing. :) If you give me a hint, I could start with it and would contribute it back. :)

Hi,
we want to contribute some doc. So could you please provide either some kick-start feedback, some working project code using chameRIA, or your project folder to us. So we can publish a documentation on that. It would be really helpful to us. It means the world to me to get this up and running.
Thanks a lot, Daniel.

The first tutorial is available in:
https://github.com/akquinet/chameRIA/blob/master/tutorial/hello-world
Explanation are in
https://github.com/akquinet/chameRIA/blob/master/tutorial/hello-world/hello-tutorial/tutorial.md

Thanks a lot - I'll try this asap.


migrate.exe RemotingExecption - occurs during long running migrations

TLDR:
Generating a script using the arguments -Script and -SourceMigration 0 in a migration scenario where migrations have been merged together (some already applied to the database), the script fails to recognize the migrations in between.
Using migrate.exe causes a timeout exception in windows remoting, probably due to the logger being GC'ed because a migration takes too long.

Wall of text / situational sketch:
Up untill now, I have been using the generated script to perform my database updates in our automated release system (VSTS).
This script can be obtained by running the following command:
Update-Database -Script -SourceMigration 0
When looking at the script, it will add checks to see if a migration is already applied or not, making it an ideal script when used in a automated release environment because it can basically be executed against any version a database.
A small example would be:
timestamp_Migration_A
timestamp_Migration_B
timestamp_Migration_C
Let's assume that A has already been applied to the database, so the script would have timestamp_Migration_A as it's latest migration, and it would then check if it has to apply B and C by using
IF @current_migration < timestamp_Migration_B THEN
IF @current_migration < timestamp_Migration_C THEN
This works well when your migration are straight forward and ours have been up until recently.
We had the situation where we'd have a develop branch and we started a new develop branch off of that (lets call it develop2) which was going to contain reworks of existing stuff in already in develop, including database tables and moving data around etc etc.
So in order to keep it simple, working on a separate branch would allow us to do any changes on develop but we just had to make sure that we'd always merge those changes into develop2 as well.
After reading this article a few times and playing around in a dummy solution mimicking our scenario I was confident that it would work.
So whenver we made db changes on develop, we'd merge them to develop2 as well and create a blanco migration that fixes the metadata.
Example:
develop has A, B, C. At this point we created develop2
After that we added D to develop2 and E to develop
So now we have
develop => A, B, C, E
develop2 => A, B, C, D
After merge it and fixing it with a blanco migration it becomes:
develop => A, B, C, E
develop2 => A, B, C, D, E, F
with F being the blanco migration ofcourse.
So eventually we were done with develop2 and merged it back to develop.
This however means that develop has E as latest migration, so it wouldn't detect the D migration when doing it through the script.
I then noticed that migrate.exe does properly detect that it hadn't applied that migration yet, however one of the migrations is long running data migration and migrate fails with the following error:

2017-04-28T14:41:15.9156545Z System.Runtime.Remoting.RemotingException: Object '/698346e2_b30a_4c97_9793_a95e2ff5bee5/fylnvmkw+b03mldupipu8zng_3.rem' has been disconnected or does not exist at the server.
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Design.ToolingFacade.ToolLogger.Verbose(String sql)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ExecuteSql(MigrationStatement migrationStatement, DbConnection connection, DbTransaction transaction, DbInterceptionContext interceptionContext)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable1 migrationStatements, DbConnection connection, DbTransaction transaction, DbInterceptionContext interceptionContext) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsWithinTransaction(IEnumerable1 migrationStatements, DbTransaction transaction, DbInterceptionContext interceptionContext)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsWithinNewTransaction(IEnumerable1 migrationStatements, DbConnection connection, DbInterceptionContext interceptionContext) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable1 migrationStatements, DbConnection connection, DbInterceptionContext interceptionContext)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatementsInternal(IEnumerable1 migrationStatements, DbConnection connection) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0() 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func1 operation)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteStatements(IEnumerable1 migrationStatements, DbTransaction existingTransaction) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, VersionedModel targetModel, IEnumerable1 operations, IEnumerable1 systemOperations, Boolean downgrading, Boolean auto) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migration, DbMigration lastMigration) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration(DbMigration migration, DbMigration lastMigration) 2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable1 pendingMigrations, String targetMigrationId, String lastMigrationId)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
2017-04-28T14:41:15.9156545Z    at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Console.Program.Run()
2017-04-28T14:41:15.9156545Z    at System.Data.Entity.Migrations.Console.Program.Main(String[] args)
2017-04-28T14:41:15.9156545Z ERROR: Object '/698346e2_b30a_4c97_9793_a95e2ff5bee5/fylnvmkw+b03mldupipu8zng_3.rem' has been disconnected or does not exist at the server.

I have tried creating a migrate.exe.config file with the following contents:
<system.runtime.remoting>
      <application>
         <lifetime
          leaseTime = "30M"
          sponsorshipTimeOut = "30M"
          renewOnCallTime = "15M"
          LeaseManagePollTime = "8s"
         />
      </application>
   </system.runtime.remoting>

but it still fails with the same exeception.
It's all caused by the logger used in migrate that is GC'ed due to inactivity (because of the long running migration)
The following SO posts seem to be related to my issue:
http://stackoverflow.com/questions/6339469/object-has-been-disconnected-or-does-not-exist-at-the-server-exception
http://stackoverflow.com/questions/18900204/errors-during-code-first-add-migration

Another related post on SO:
http://stackoverflow.com/a/42609870/5903834

Note for triage: The RemotingException is tracked by #96

Closing this as a dupe of #96. @dschuermans Please let us know if we missed something that is not covered by #96.


Minimum replica count and quorum are the same

If I'm not wrong, then we have a confusing duplicate here. Quorum loss describes the same as below minimum replica count. I would propose to remove the last sentence.
From the article: "If the partition is below the minimum replica count, it reports an error. If the partition is not below the minimum replica count, but it's below the target replica count, it reports a warning. If the partition is in quorum loss, System.FM reports an error."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 14c1b21c-1365-cb1c-8afa-601a34a064e4
Version Independent ID: 798f944f-3e0c-2bd4-b049-0962ac8b6e67
Content: Troubleshoot with system health reports
Content Source: articles/service-fabric/service-fabric-understand-and-troubleshoot-with-system-health-reports.md
Service: service-fabric
GitHub Login: @oanapl
Microsoft Alias: oanapl

@inputoutputcode Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@appi101 , can you review the change please?

@Bruno<EMAIL_ADDRESS>can you please take a look?
From: Oana Platon<EMAIL_ADDRESS>Sent: Monday, July 23, 2018 10:41 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Aprameya Rao<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Minimum replica count and quorum are the same (#12149)
@appi101https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fappi101&data=02|01|aprameya.rao%40microsoft.com|6722de92da86466c416a08d5f0c369f4|72f988bf86f141af91ab2d7cd011db47|1|0|636679644441776209&sdata=QFrCVP6gfzuhTuScml6MRXF%2B1nkxriZ4kuWE%2BS7PxBI%3D&reserved=0 , can you review the change please?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F12149%23issuecomment-407141103&data=02|01|aprameya.rao%40microsoft.com|6722de92da86466c416a08d5f0c369f4|72f988bf86f141af91ab2d7cd011db47|1|0|636679644441776209&sdata=9gFMM%2BeWhzKm33mSVshRas2dzh1cslkT2dOjjWL1Tq4%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKzJU1FFmaKOdCF06wghvvoq-ebwZChoks5uJgqagaJpZM4VZrKa&data=02|01|aprameya.rao%40microsoft.com|6722de92da86466c416a08d5f0c369f4|72f988bf86f141af91ab2d7cd011db47|1|0|636679644441776209&sdata=1WkYCsoM6ZrjjNPUzbDI1CQa6dIyUffeRc1gmNFHwQk%3D&reserved=0.

Sure, you're absolutely right. Thanks.


improve errors location

use of the span.error() function to have a better location of errors
except for "internal errors" when the end-user is not responsible / can't do anything with the error?

@eric-therond
Can you fix this error?

error: this if branch is empty
--> src/interpreter.rs:552:25
|
552 |                         if raise_error {}
|                         ^^^^^^^^^^^^^^^^^ help: you can remove it
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_if
= note: -D clippy::needless-if implied by -D warnings


Bug: [D1] Error in performIO: Error: D1_ERROR: too many SQL variables

Bug description
When running queries with relations with a D1 database as the backend, I run into the following error quite often:
Error in performIO: Error: D1_ERROR: too many SQL variables at offset [some offset].
This is probably the same as #302 (but is closed) and #21648. relationJoins does not change anything since that is not available for sqlite/d1.
How to reproduce
Checkout https://github.com/hrueger/prisma-d1-variables-bug and follow the instructions (also in the readme):
npm install
npx wrangler d1 create prisma-demo-db

update the wrangler.toml file with the database id
npx wrangler d1 migrations apply prisma-demo-db --local
npm run dev

Expected behavior
it should work ;-)
I believe the split limit (I read about this in some other issue) has to be reduced. Seems like this is 100, see (https://developers.cloudflare.com/d1/platform/limits/)
Prisma information

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["driverAdapters"]
}

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  posts  Post[]
}

model Post {
  id        Int     @id @default(autoincrement())
  title     String
  content   String?
  published Boolean @default(false)
  author    User    @relation(fields: [authorId], references: [id])
  authorId  Int
}

import { PrismaClient } from '@prisma/client'
import { PrismaD1 } from '@prisma/adapter-d1'

export interface Env {
	DB: D1Database
}

export default {
	async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
		const adapter = new PrismaD1(env.DB)
		const prisma = new PrismaClient({ adapter })

		let users = await loadUsers(prisma)
		if (!users.length) {
			await createUsers(prisma);
			users = await loadUsers(prisma);
		}
		const result = JSON.stringify(users)
		return new Response(result);
	},
};

async function loadUsers(prisma: PrismaClient) {
	return await prisma.user.findMany({
		include: {
			posts: true,
		},
	});
}

async function createUsers(prisma: PrismaClient) {
	for (let i = 0; i < 250; i++) {
		await prisma.user.create({
			data: {
				email<EMAIL_ADDRESS>				name: `User ${i}`,
				posts: {
					createMany: {
						data: [
							{
								title: `Post ${i}`,
								content: `This is the content of post ${i} by User ${i}`,
							},
							{
								title: `Post ${i}b`,
								content: `This is the content of the second post ${i}b by User ${i}`,
							},
						],
					},
				},
			},
		});
	}
}

Environment & setup

OS: macOS
Database: Cloudflare D1
Node.js version: v21.6.1

Prisma Version
prisma                  : 5.12.1
@prisma/client          : 5.12.1
Computed binaryTarget   : darwin-arm64
Operating System        : darwin
Architecture            : arm64
Node.js                 : v21.6.1
Query Engine (Node-API) : libquery-engine 473ed3124229e22d881cb7addf559799debae1ab (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli 473ed3124229e22d881cb7addf559799debae1ab (at node_modules/@prisma/engines/schema-engine-darwin-arm64)
Schema Wasm             : @prisma/prisma-schema-wasm 5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab
Default Engines Hash    : 473ed3124229e22d881cb7addf559799debae1ab
Studio                  : 0.499.0
Preview Features        : driverAdapters

@hrueger
I wanted to ask you a question since I have a similar setup: Remix + D1 + Prisma.
When you deploy this project on Cloudflare Pages (or Workers), does it work?
In my case, the deployment itself fails due to new PrimaClient({ adapter }), and I'm not sure how exactly the error occurs because Cloudflare doesn't provide any logs regarding the deployment failures.

@zett-8 yes, apart from this issue it works just fine for me 👍 I have multiple projects running on Cloudflare Workers as well as on Cloudflare Pages.

To connect the dots, here is a related discussion thread: https://github.com/prisma/prisma/discussions/23646#discussioncomment-9083299

✘ [ERROR] Error in performIO: Error: D1_ERROR: too many SQL variables at offset 381

      at D1Database._sendOrThrow (cloudflare-internal:d1-api:66:19)
      at async D1PreparedStatement.raw (cloudflare-internal:d1-api:184:32)
      ... 2 lines matching cause stack trace ...
      at null.<anonymous> (async
  file:///workspace/prisma-d1-variables-bug/.wrangler/tmp/dev-G7ujFb/index.js:1703:18) {
    [cause]: Error: too many SQL variables at offset 381
        at D1Database._sendOrThrow (cloudflare-internal:d1-api:67:24)
        at async D1PreparedStatement.raw (cloudflare-internal:d1-api:184:32)
        at async PrismaD1.performIO
  (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/adapter-d1/dist/index.mjs:235:40)
        at async PrismaD1.queryRaw
  (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/adapter-d1/dist/index.mjs:189:22)
        at null.<anonymous> (async
  file:///workspace/prisma-d1-variables-bug/.wrangler/tmp/dev-G7ujFb/index.js:1703:18)
  }

[wrangler:err] PrismaClientUnknownRequestError:
Invalid `prisma.user.findMany()` invocation:

Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(SqliteError { extended_code: 1, message: Some("D1_ERROR: too many SQL variables at offset 381") }), transient: false })
    at [object Object]
    at or.handleRequestError (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/client/runtime/wasm.js:22:7318)
    at or.handleAndLogRequestError (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/client/runtime/wasm.js:22:6462)
    at or.request (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/client/runtime/wasm.js:22:6176)
    at async f (file:///workspace/prisma-d1-variables-bug/node_modules/@prisma/client/runtime/wasm.js:27:11094)
    at async loadUsers (file:///workspace/prisma-d1-variables-bug/src/index.ts:24:9)
    at async Object.fetch (file:///workspace/prisma-d1-variables-bug/src/index.ts:16:12)
    at async jsonError (file:///workspace/prisma-d1-variables-bug/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts:22:10)
    at async drainBody (file:///workspace/prisma-d1-variables-bug/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts:5:10)
[wrangler:inf] GET / 500 Internal Server Error (1466ms)

This Bug seems to come from limit of D1 SQL statement size (by  parameters, batch or number of inserted records)...
I think that CloudFlare should note on D1 Limits.

I tested with D1 plain SQL and Drizzle ORM, this is NOT Prisma error.
This is D1 ERROR due to its limited SQL statement chain, not sure how SQlite3-based D1 gives us a explixit measurement for this, may be the SQL statement string buffer (which built from raw SQL scritp and parameters).
What you should do is reduce complexity of Prism and its SQL statement.
For example, for simple insert SQL with 5 parameters I can use upto batch of 20 insert value array, but when I use 22 upsert parameters, I can only use an array of 2 values.
Thus, you should use pagination technique or SQL statement buffer measurement to reduce to the best trade-off and runnable SQL command, no matter what they are generated by Prisma/Drizzle or plain D1 Sqlite.

We have a mechanism called "chunking" that we usually use to split problematic queries to stay inside the limits imposed by the databases. We are currently implementing this for D1, and expect this to fix the problem.
Do you have a concrete example that is currently failing with Prisma ORM, so we can confirm it now works after our fix @TimKieu?

Hi @hrueger! This issue is fixed, and will be part of the upcoming release (in a few hours): Prisma 5.15.0. Thanks!

Just dropping in to say this works brilliantly 🎉

Hi @hrueger! This issue is fixed, and will be part of the upcoming release (in a few hours): Prisma 5.15.0. Thanks!

I just encountered this error 20 mins ago, then find this great news, upgrade to 5.15.0 and the error is gone.
Thank you guys.

I think I still get this issue when running a query with a join that has over 100 records. I can see since 5.15.0 the query is being successfully chunked and hopefully this is user error on my part.
When I run the below select as part of a prisma 'findMany'.
const select = {
  friendlyId: true,
  memberships: {
    select: {
      name: true
    }
  },
  user: {
    select: {
      id: true,
      firstName: true,
      lastName: true,
      email: true,
      phone: true
    }
  }
}

And where the original table, in this case 'members' returns over 100 results, I end up with the following queries:
prisma:query SELECT `main`.`Member`.`id`, `main`.`Member`.`friendlyId`, `main`.`Member`.`userId` FROM `main`.`Member` WHERE `main`.`Member`.`clubId` = ? LIMIT ? OFFSET ?

prisma:query SELECT `main`.`Membership`.`id`, `main`.`Membership`.`name`, `main`.`Membership`.`memberId` FROM `main`.`Membership` WHERE (1=1 AND `main`.`Membership`.`memberId` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) LIMIT ? OFFSET ?

prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`phone` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) LIMIT ? OFFSET ?

Essentially the inclusion of over 100 ? in the query seems to get treated as breaching the '100' D1 variables limit.

So you see queries currently being limited to 100 ? and still get the error message? Can you share the exact query that is triggering the error? It is possible that D1 counts differently than ... usual, and that is causing trouble. Maybe also share your Prisma Schema and Prisma Client query so we can fully reproduce this. How many Memberships or Users does the query return?

Hey @janpio, I appreciate the quick response here. Yep, I have to pop a 'limit 50' on to save the query crashing at the minute, I haven't tried to up the limit to figure out the exact breaking point.
There's currently 125 rows in the members table with the same number of memberships and users for the sake of this test data. This query in theory would return 125 members who happen to have 1 membership each and a member is associated to 1 user.
Using the select above with:
const members = await prisma.member.findMany({
  take: 50,
  where: {
    clubId: input.clubId
  },
  select
})

I've tried to simplify these a little for the sake of making life a bit easier, sorry for the formatting!
model Member {
  id               String       @id @default(uuid())
  friendlyId  String
  userId       String
  user          User         @relation(fields: [userId], references: [id])
  memberships Membership[]
}

model User {
  id        String     @id @default(uuid())
  name  String
}

model Membership {
  id                String     @id @default(uuid())
  status         String
  memberId  String
  member     Member @relation(fields: [memberId], references: [id])
}

Quick attempt seems to show the chunking is working as expected for me:
"SELECT `main`.`Member`.`id`, `main`.`Member`.`friendlyId`, `main`.`Member`.`userId` FROM `main`.`Member` WHERE 1=1 ORDER BY `main`.`Member`.`id` ASC LIMIT ? OFFSET ?"
"SELECT `main`.`Membership`.`id`, `main`.`Membership`.`status`, `main`.`Membership`.`memberId` FROM `main`.`Membership` WHERE `main`.`Membership`.`memberId` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) LIMIT ? OFFSET ?"
"SELECT `main`.`Membership`.`id`, `main`.`Membership`.`status`, `main`.`Membership`.`memberId` FROM `main`.`Membership` WHERE `main`.`Membership`.`memberId` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) LIMIT ? OFFSET ?"
"SELECT `main`.`User`.`id`, `main`.`User`.`name` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) LIMIT ? OFFSET ?"
"SELECT `main`.`User`.`id`, `main`.`User`.`name` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) LIMIT ? OFFSET ?"

This is with 150 entries and then also reading 150 back.

Hey @janpio, I double checked and I'm definitely on 5.15.0, I'll try to put together an example to reproduce it. Thanks for your help so far.

Hey @janpio I've been doing some more digging, it looks like the inclusion of a subquery is what pushes it over the edge. Example like below, I'll hopefully have a working example on how to reproduce shortly.
const select = {
  user: {
    ...
  },
  medicals: {
    where: {
      OR: [
        { expiryDate: { gte: new Date() } }
      ],
    }
  }
}

That would be amazing. Just open a new issue with that information when you get it. The problem definitely seems to happen less often after the previous fix, but it seems we didn't get all the instances yet. Let's make that happen.


Retrieve non-json file as configuration

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.889%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
8

Relevant Lines:
9

💛  - Coveralls


add devcontainer config with docker in docker feature & update license

will update the readme in a followup - as soon as the config is on master, it's possible to provide a codespace start url


Guide Relative placement update #14

Record guide positions as they relate to universal topology and then upon topo
change, place them relative to the changes.
#14

@miquelcampos Just reminder

@mottosso  yep it is annoying, sometimes I miss some notes :P


AD-tests in testreport may not be sufficiently sophisticated to so that many problems may got unnoticed

Currently, testreport checks in AD-experiments the number of recomputation warnings, the value of the cost function, the sum/mean of AD and FD gradients for very few (order 4) grid points and one variable only. In some cases, changes in the adjoint variables may go unnoticed, because the checks of the gradients are so sparse.
I suggest to add AD-monitor output to all AD-verification experiments (where possible), and also use the AD-variables (specifically ad_dynstat_aduvel/advvel/advwvel/adtheta/adsalt) for regression tests. This may be tricky as the control variables can be very different for different experiments depending on the packages used and the control variables defined (e.g. ad_forcing_adfu vs. ad_exf_adfu when pkg/exf is used), so I start here with a list of the control variables in the different experiments (already based on PR #406). It should also be possible to use the output of CG2D in reverse mode as an integral number (after the line " Calling cg2d from S/R CG2D_SAD")

[ ]  1D_ocean_ice_column

C       >>> Initial values.
#define ALLOW_THETA0_CONTROL
#define ALLOW_SALT0_CONTROL

C       >>> Atmospheric state.
#define  ALLOW_ATEMP_CONTROL
#define  ALLOW_AQH_CONTROL
#define  ALLOW_PRECIP_CONTROL
#define  ALLOW_SNOWPRECIP_CONTROL
#define  ALLOW_SWDOWN_CONTROL
#define  ALLOW_LWDOWN_CONTROL
#define  ALLOW_UWIND_CONTROL
#define  ALLOW_VWIND_CONTROL
#define  ALLOW_APRESSURE_CONTROL

[ ] bottom_ctrl_5x5

#define ALLOW_DEPTH_CONTROL

[ ]  global_ocean.90x40x15

C       >>> Generic Control.
#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
C       >>> Other Control.
#define ALLOW_DIFFKR_CONTROL
#define ALLOW_KAPGM_CONTROL
#define ALLOW_KAPGM_CONTROL_OLD
#define ALLOW_KAPREDI_CONTROL
#define ALLOW_KAPREDI_CONTROL_OLD
#define ALLOW_BOTTOMDRAG_CONTROL
 xx_genarr3d_file(1)='xx_theta',
- [ ]  global_ocean.90x40x15.bottomdrag
 xx_genarr2d_file(1)='xx_bottomdrag',
- [ ]  global_ocean.90x40x15.kapgm
 xx_genarr3d_file(1)='xx_kapgm',
- [ ]  global_ocean.90x40x15.kapredi
 xx_genarr3d_file(1)='xx_kapredi',

[ ]  global_ocean.cs32x15, global_ocean.cs32x15.seaice, global_ocean.cs32x15.seaice_dynmix, global_ocean.cs32x15.thsice

C       >>> Generic Control.
#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
C       >>> Other Control.
#define ALLOW_DIFFKR_CONTROL
 xx_genarr3d_file(1)       = 'xx_theta',
 xx_genarr3d_file(2)       = 'xx_salt',
 xx_genarr3d_file(3)       = 'xx_ptr',
 xx_genarr3d_file(4)       = 'xx_diffkr',
 xx_gentim2d_file(1)       = 'xx_qnet',
 xx_gentim2d_file(2)       = 'xx_empmr',
 xx_gentim2d_file(3)       = 'xx_fu',
 xx_gentim2d_file(4)       = 'xx_fv',

[ ]  global_ocean_ebm

#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
 xx_genarr3d_file(1)='xx_theta',

[ ]  global_oce_biogeo_bling

#define ALLOW_GENTIM2D_CONTROL
#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
 xx_genarr3d_file(1)='xx_theta',
 xx_genarr3d_file(2)='xx_salt',
 xx_genarr3d_file(3)='xx_ptr1',
 xx_genarr3d_file(4)='xx_ptr2',
 xx_genarr3d_file(5)='xx_ptr3',
 xx_genarr3d_file(6)='xx_ptr4',
 xx_genarr3d_file(7)='xx_ptr5',
 xx_genarr3d_file(8)='xx_ptr6',

[ ]  global_with_exf

C       >>> Initial values.
#define ALLOW_THETA0_CONTROL
#define ALLOW_SALT0_CONTROL
C       >>> Surface fluxes.
#define  ALLOW_HFLUX_CONTROL
#define  ALLOW_SFLUX_CONTROL
#define  ALLOW_USTRESS_CONTROL
#define  ALLOW_VSTRESS_CONTROL

[ ]  halfpipe_streamice

#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
 xx_genarr2d_file(1)   = 'xx_genarr2d1',
 xx_genarr2d_file(2)   = 'xx_genarr2d2',
 xx_genarr3d_file(1)   = 'xx_genarr3d1',
 xx_gentim2d_file(1)   = 'xx_gentim2d1',

[ ]  hs94.1x64x5

#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
 xx_genarr2d_file(1)   = 'xx_genarr2d1',
 xx_genarr2d_file(2)   = 'xx_genarr2d2',
 xx_genarr3d_file(1)   = 'xx_genarr3d1',
 xx_gentim2d_file(1)   = 'xx_gentim2d1',

[ ]  isomip, isomip.htd

#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
 xx_genarr3d_file(1)       = 'xx_theta',
 xx_genarr3d_file(2)       = 'xx_salt',
 xx_genarr3d_file(3)       = 'xx_diffkr',
 xx_gentim2d_file(1)       = 'xx_shifwflx',

[ ]  lab_sea, lab_sea.noseaice, lab_sea.noseaicedyn

#define ALLOW_THETA0_CONTROL
#define ALLOW_SALT0_CONTROL
C       >>> Atmospheric state.
#define  ALLOW_ATEMP_CONTROL
#define  ALLOW_AQH_CONTROL
#define  ALLOW_PRECIP_CONTROL
#define  ALLOW_SNOWPRECIP_CONTROL
#define  ALLOW_SWDOWN_CONTROL
#define  ALLOW_LWDOWN_CONTROL
#define  ALLOW_UWIND_CONTROL
#define  ALLOW_VWIND_CONTROL
#define  ALLOW_APRESSURE_CONTROL
C       >>> seaice init. conditions
#define  ALLOW_SIAREA_CONTROL
#define  ALLOW_SIHEFF_CONTROL
C       >>> relaxation terms
#define  ALLOW_SST_CONTROL
#define  ALLOW_SSS_CONTROL

[ ]  obcs_ctrl

#define ALLOW_GENARR3D_CONTROL
C       >>> Open boundaries
#define  ALLOW_OBCSN_CONTROL
#define  ALLOW_OBCSS_CONTROL
#define  ALLOW_OBCSW_CONTROL
#define  ALLOW_OBCSE_CONTROL
 xx_genarr3d_file(1)       = 'xx_theta',

[ ]  offline_exf_seaice, offline_exf_seaice.thsice

#define ALLOW_GENARR2D_CONTROL
#define ALLOW_GENARR3D_CONTROL
#define ALLOW_GENTIM2D_CONTROL
 xx_gentim2d_file(1)       = 'xx_atemp',
 xx_gentim2d_file(2)       = 'xx_swdown',
 xx_genarr3d_file(1)       = 'xx_theta',

[ ]  OpenAD

C       >>> Initial values.
#define ALLOW_THETA0_CONTROL
#define ALLOW_SALT0_CONTROL
#define ALLOW_TAUU0_CONTROL
#define ALLOW_TAUV0_CONTROL
#define ALLOW_SFLUX0_CONTROL
#define ALLOW_HFLUX0_CONTROL

[ ]  tutorial_dic_adjoffline

#define ECCO_CTRL_DEPRECATED
???? this combination makes no sense to me
#define ALLOW_GEN2D_CONTROL
independent variable according to taf_ad.log:
 xx_gen2d_dummy
 xx_dic is not recognized as an independent variable by taf and it is
 not clear to me, where and how xx_gen2d is used.

[ ]  tutorial_global_oce_biogeo

#define ALLOW_THETA0_CONTROL
#define ALLOW_SALT0_CONTROL
#define ALLOW_TR10_CONTROL
#define ALLOW_TAUU0_CONTROL
#define ALLOW_TAUV0_CONTROL
#define ALLOW_SFLUX0_CONTROL
#define ALLOW_HFLUX0_CONTROL

[ ]  tutorial_global_oce_optim

#define ALLOW_HFLUXM_CONTROL

[ ]  tutorial_tracer_adjsens, tutorial_tracer_adjsens.som81

#define ALLOW_GENARR3D_CONTROL
 xx_genarr3d_file(1)   = 'xx_genarr3d1',

I agree with this @mjlosch. While debugging #359 I found a number of instances where the tests technically passed because the gradient was fine, but the finite difference was off by 4 digits. To be concrete, the expected result is
Y Y Y Y 16>14< 8 pass  obcs_ctrl  (e=0, w=0)

And I was getting
Y Y Y Y 16>14< 4 pass  obcs_ctrl  (e=0, w=0)

Is testreport checking the FD result at all? Or is 4 digits still enough to pass?

That's a slightly different aspect. The "pass" or fail depends on the number within > <, so in this case 14. This is also true for forward tests. At some point there was a decision, which is the most important number and that number decides.

Gotcha, thanks @mjlosch. Regardless of the applicability of my earlier comment, I think the issue you raised is important.

Is this still an issue? The only thing left is diagnosing the results of cg2d_sad, but that's not so straightforward, because it is not always used (e.g. if cg2d_nsa is used instead). If we decide not to takle that, I suggest to close this issue.

PR #496 also added the number of time S/R seaice_model is called. I also think that this issue can be closed since these 3 PRs cover most of it.

OK, agreed, I am closing this, but we should keep diagnosing the results of (now, or soon after #470 is merged) cg2d_mad in mind.


Modified macros to respect namespaces.

Upgraded macros per the package maintainers requirements for dispatch https://docs.getdbt.com/reference/dbt-jinja-functions/dispatch#for-package-maintainers

Hi @emilyriederer please let me know if there are any issues with this. Would be good to get this and the change you have made to overview.md into the release on dbt package site to make this play nicer with complex projects.

Thanks for the PR, @BeadW ! The CI tests are failing not because of your code but because of a new problem seemingly related to the BQ connection. I'll get to the bottom of that ASAP so we can get this merged.
Just for my context, I understand dispatch is most useful for extending/overriding functions. Do you have specific use cases for this in mind? I ask just to see if there are more features I should be thinking of adding in the future.

Hi @emilyriederer, I was just working through why the package was causing issues with our docs and essentially looking for how it could be hijacking some upstream functionality. This didn't turn out to be the issue, but I had already changed it in line with the link I put in the PR so I figured it was worth contributing.

Thanks again for the PR, @BeadW ! Got the tests up and running again. What I'm encountering now is there is a versioning mismatch between (the versions of dbt / dbt-util that the test suite assumes) and (the min version of dbt that handles dispatches in this way). I'll try to get everything updated to the same spot this weekend and aim to get this merged and released soon

Hi @BeadW ! Testing suite is now working but turned up some odd behavior. I wanted to see if you've seen anything like this before or had more intuition as I'm a bit green on the dbt adapter dispatch functionality.
Your enhancements works great and pass for:

where_helpers.sql
across.sql (after modifying default arg pass-through)
map.sql

However, the enhancements for the rest of the files are throwing very odd errors:

select_helpers.sql
get_column_names.sql
get_matches.sql

As an example, after using the modified version of the starts_with() macro, the starts_with.sql model compiles to:

select
,
   ,
   ,
   ,
   ,
  [,
  ',
  a,
  m,
  t,
  _,
  c,
  ',
  ],
from `sonorous-wharf-302611`.`dbt_emily`.`data`

I get the sense that somehow more complex objects than simple strings (e.g. relations, lists) aren't getting passed through correctly. However, looking at some of the dbt-utils macros (example), it doesn't appear they do anything special to handle these datatypes.
I'll keep digging into it, but that's the update.

Got this merged! Thanks again so much for the contribution @BeadW . Really glad to have this in there. I have also bumped the version to 0.3.0 and done an official release which is now being properly reported on dbthub. So, hopefully this makes the package play nicer with your project!

Thanks @emilyriederer. Apologies I didn't respond sooner it was a long weekend here. Really appreciate your work on this. :)

@BeadW - please don't be sorry! I was just documenting as I explored mostly so you knew I wasn't ignoring the PR and in case there was any urgency on your end for your projects. Didn't expect a fast response and happy to know more about adapter dispatch now! 🤓


Update LocationManagerClient.java

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)
:arrow_heading_down: What is the current behavior?
:new: What is the new behavior (if this is a feature change)?
:boom: Does this PR introduce a breaking change?
:bug: Recommendations for testing
:memo: Links to relevant issues/docs
:thinking: Checklist before submitting

[ ] I made sure all projects build.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I followed the style guide lines (code style guide).
[ ] I updated the relevant documentation.
[ ] I rebased onto current master.

Any update on this getting merged?

PR #1324 supersedes this PR and will be merged soon. Therefore closing this as obsolete


feat: Create tree component

Before submitting the PR, please make sure you do the following:

[ ] Read the Contributing Guidelines
[ ] Reference your PR to an issue that was discussed ahead of time
[ ] The PR should contain a clear description of the problem it solves
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests and linting

[ ] Run the unit tests with npm run test
[ ] Run the linting with npm run lint
[ ] Run the e2e tests with npm run e2e

Thank you for contributing to AgnosUI!

Hi the screenreader is not fully working when expanding / collapsing the node.


Documentation link links to no content

Pertinent section of the Wagtail docs
The url https://docs.wagtail.io/reference/pages/model_reference.html#wagtail.core.models.Page linked from https://docs.wagtail.io/en/stable/topics/pages.html goes nowhere.  Does anyone know when the wagtail documentation will be back online ?  All I get is a maze drawn in ascii art.

(Insert the permalink of the section heading in the Wagtail docs. Choose the most specific section / lowest-level heading to which your suggested change would apply. (In the docs, hover over the the heading to see the permalink icon.))
Details

(Write your answer here.)
To go to an actual page, not a page of ascii art showing a maze.

Thanks for reporting! The correct link is https://docs.wagtail.io/en/stable/reference/pages/model_reference.html#wagtail.core.models.Page - we'll fix the broken link.

It turns out this was already fixed in #7390 on the 'latest' branch, but it didn't get ported over to 'stable' - unfortunately our docs hosting platform (readthedocs) doesn't make it easy to retrospectively change existing versions of docs without us putting out a whole new Wagtail release, so it's likely that it'll stay this way until we release 2.15 at the start of November.


Add Mastodon Snippet

Resolves #39
This PR adds a Mastodon Verification snippet which can be used to programmatically populate Mastodon verification links (rather than having to PR each new one). Once this is deployed we'll need to add the existing verifications to the Admin UI.
Screenshots

Thanks for the suggestions @milktea02! Here's the new look:


Gridsome compare with JAMstack frameworks

I know Gridsome was inspired by Gatsby, but how feature complete are you now? Does Gridsome support same capabilities with regard to the JAMstack paradigm?
I'd like to know how it compares along these lines:
https://www.gatsbyjs.org/features/jamstack/
specifically we're interested created a pre-rendered on build, rich, dynamic full-featured app

Yes, Gridsome does support the exact same features for building JAMstack websites. IMO this is more about Static VS Server-side rendering. If you go the static route you need to use serverless APIs to update your front-end on the client-side. Gridsome can, for example, have dynamic routes on Netlify: https://gridsome.org/docs/dynamic-routing/

Thanks. You are you aware of any project that are taking this approach with Gridsome? We've built multiple static sites, and multiple SPA type applications. We are interested in the static + dynamic data techniques, but we've been unable to find a single demo or even one article which talks about this this detail for Gridsome. It appears as if everyone is only using Gridsome as a static site generator. We wonder why there aren't more (any) example projects or articles of the JAMstack approach (calling apis post-build).

@Maxhodges
Ive seen a lot of Tutorials for using it with API driven content and made it work by myself with Strapi CMS.
You just need Axios and Dynamic routes. Ive just tested it little bit.
But also any Headless CMS Tutorials are with api based content.
The obly thing you than need, are dynamic routes from the post above.
Let me know if you still have questions.

@Maxhodges As I understand from the discussion in #193, you have found a way to use gridsome to build a dynamic application.
Could you share your experience? I am trying to find more information about the flow for authenticated users and in-app pages:

Public web site pages are generated statically
There is a login / signup area for users registration to access "in-app" pages
All "in-app" pages should be protected (only available after registration)
Most of "in-app" pages can be statically rendered too with user-specific content fetched dynamically and layered on top of static pages
Some of "in-app" pages are built dynamically (like user profile page)

For example, imagine a news website where part of the content is public and part is available after registration. Registered users also can mark content as read, unread, favorite, add highlights, and notes.
Dynamic routing looks like base a solution for the in-app pages flow, but the documentation page is quite short, so I am trying to find more information on the topic.
For example, gatsby has much more information on this topic, in particular client-side only routes guide, building a web-site with authentication, authentication tutorial.

hi @serebrov my current thinking thinking is that JAMstack is not a very viable way to build modern web applications. We're big fans of static sites and Gridsome, but when it comes to full-featured applications, the JAMstack approach doesn't hold up well. I see it as mostly a marketing ploy (lead by Netlify) without much substance to back it up.
After much research and efforts, I'm come to agree with this take away:

There’s still a place for static sites on the web, but it’s shrinking, not growing, and likely still the domain of developer portfolios and side-projects. Sure, it’s possible to engineer a workflow in 2020 that manages to smoosh together a set of disparate 3rd parties, a version-control-system backed CMS and a bunch of template files into a working (and fast!) site, but the value is questionable. Instead of reducing complexity, the JAMStack just shifts it around.

Security and performance are real concerns and will undoubtedly continue to plague developers, library authors and product owners as long as software development lives, however, the solution won’t be found in a reduction of responsibility.

It’s fitting that we have taken the simplest form of a website — static HTML — and transformed it into a complex landscape of build processes, tooling and services that more than rivals the complexity it set out to supplant.

https://www.browserlondon.com/blog/2020/04/20/issues-with-jamstack-you-might-need-backend/
We still use Gridsome for landing pages, but we're building our app in Vue, Apollo, GraphQL, Hasura.


Hard requirement for CMRESHandler

Is this needed for Parsl?  I get:
$ python3 setup.py install
...
Installed /usb1/sfw/miniconda3/lib/python3.6/site-packages/parsl-0.6.1-py3.6.egg
Processing dependencies for parsl==0.6.1
Searching for CMRESHandler
Reading https://pypi.python.org/simple/CMRESHandler/
No local packages or working download links found for CMRESHandler

This is being used for real-time monitoring. @yadudoc can we make it optional given many people will not be using the monitoring capabilities.

The CMRESHandler package is optional, and should not be installed by default when installing from pypi. This might not be the behavior when installing from source. @jmjwozniak I do see some odd behavior when trying to install from source with pip install -e .

I will try this with pip install.

That worked.

My guess is pip uses setup.py (which lists it as optional) and pypi uses requirements.txt?


Renderdoc visualization is different from the actual window

Description

The actual Vulkan window :

The RenderDoc window :

To be clear, there is a bug in my code because RenderDoc view is the expected one. But shouldn't RenderDoc texture viewer display the same image as the window ?
Steps to reproduce

Clone this project
https://github.com/EIP-Pivot/editor
On the branch vulkan_improvement
mkdir build && cd build && cmake .. && cmake --build .
Run it inside RenderDoc
Environment

RenderDoc version: stable 1.17
Operating System: Linux
Graphics API: Vulkan

I'm running an NVIDIA RTX 3060 Laptop with Vulkan version 1.2.202.

RenderDoc does not guarantee that it will work in the presence of undefined behaviour, it's only intended to debug valid uses of the API which are not working as intended. If you have a bug in your program where it may work on one driver and break on another - or in general behave unpredictably depending on how the undefined behaviour works out - it may indeed show up differently in RenderDoc. That's expected, and indeed in that case RenderDoc may even crash depending on what the undefined behaviour is.
This is especially true on Vulkan where the API and driver are not intended to do any kind of error-correction or help and undefined behaviour is easier to hit. You should use the vulkan validation layers and other validation mechanisms to check that your program.
If you fix all the problems with your code and don't believe you have any bugs and RenderDoc is still inconsistent, then that would be a RenderDoc bug so please feel free to open a new issue. I'm afraid though it's not feasible for me to provide general code debugging support, so I'll close this issue.

It's no problem, it's just that there's limits to what I can reasonably investigate and from your description this suggests it's more likely to be an application bug than a RenderDoc bug, As I say it's certainly possible for RenderDoc bugs to cause incorrect display, but that's more likely to be when it displays something wrong vs the application - if it displays what you originally intended then most of the time that's caused by undefined behaviour which RenderDoc ends up hiding by coincidence.


Text search: case insensitive search

Made text search case insensitive and matches word instead of substring.
Added test cases to test filter_community function in Community class.
#99

For tests to stop failing, updating Sphinx to v1.5.1 in setup.py will do it.
(Fix based on https://github.com/inveniosoftware/cookiecutter-invenio-module/commit/a561e351ca2924dc657bf6a166f6780fd4fd335e)


Remove all Carriage Return characters in our files

Changelog / Overview

Motivation
I have been getting inexplicable diffs where it appears that a line was taken away and an identical line added.
The reason this happens is that most text editors mark the end of a line with a linefeed LF character, while a few (mostly on MS windows) mark it with a LF+CR. This CR is a carriage return character and is not needed anymore. It dates back to the days of mechanical printers and typewriters in which the linefeed pushes the paper up and the carriage return moves the typing/printing carriage to the left of the line.
Explanation for Changes
I have removed all the carriage return characters in .py .rst. .toml and .yaml files.
Testing Status
Nothing functional has changed. Everything should work exactly as before.
Further Comments
Perhaps we can add to our CI a step of removing all CRs so that we have a canonical version of our files.
Checklist

[ ] I have read the Contributing Guidelines
[x] I have written a descriptive PR title (see top of PR template for examples)
[x] I have written a changelog entry for the PR or deem it unnecessary
[x] My new functions/classes either have a docstring or are private
[x] My new functions/classes have tests added and (optional) examples in the docs
[x] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

Some sort of check to make sure these characters don't get back into the codebase would be nice

Perhaps add this to .gitattributes
* text eol-lf

Pre-commit should be having checks for things like this.


I started using this and thought it might feel better with the Model and Msg types flipped?

Curious what you're thoughts are.

Meh I think I'm more bought into the FP jargon than I wanted to be originally :/


Sort attribute tables by requirement level and name

Fixes #614
Changes
This changes the ordering of generated attribute tables to order by requirement level: required attributes first, then conditionally required ones, recommended ones, and opt-ins. The secondary sort criteria is attribute names.
This PR applies changes in open-telemetry/build-tools#260
Merge requirement checklist

[x] CONTRIBUTING.md guidelines followed.
[ ] Change log entry added, according to the guidelines in When to add a changelog entry.

If your PR does not need a change log, start the PR title with [chore]

[ ] schema-next.yaml updated with changes to existing conventions.

I believe this was addressed in the #820  and can be closed.


add octal to bcd converter

Related Issue

Info about Issue or bug

fix #2188
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Checklist:

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

Screenshots

@sairish2001 resolved conflicts


Add affinity configuration to node-agent DaemonSet

Description
This PR adds the ability to configure affinity for the node-agent DaemonSet using Helm values. This enhancement allows users to specify node affinity rules, which can be useful for targeting specific nodes or node types in a Kubernetes cluster.
Changes

Updated daemonset.yaml to include affinity configuration
Modified values.yaml to add an affinity section with examples
Added a new helper template in _helpers.tpl for affinity

How to use
Users can now specify affinity rules in their values.yaml file when deploying the node-agent. For example:

@uje-m thank you!


dev -> master

This change is

Reviewed 1 of 1 files at r1, 3 of 3 files at r2, 1 of 1 files at r3, 1 of 1 files at r4, 2 of 2 files at r5.
Review status: :shipit: complete! all files reviewed, all discussions resolved

Comments from Reviewable

Reviewed 1 of 1 files at r6.
Review status: :shipit: complete! all files reviewed, all discussions resolved

Comments from Reviewable


Dates between months not showing

I'm trying to create an event where the initial date is in september for example (25/09/2015) and the end date is in (15/10/2015) for example. It does appears in the count of years, but the 'circles' do not appear in the month view of calendar. Also the event don't appear at all not even in september or october. HOw can I fix it ?

Nevermind it was a source generator error not the script.


add types to package.json

awesome typings, but TypeScript doesn't automatically detect them unless they're defined in the package.json https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html

Great! Thanks @rajington


Question about the "Time" column

I have a quick question about the purpose of the "Time" column in the graphite clickhouse database. Does it record the time the metric was received by carbon-clickhouse?

It records the the time that was sent as the metric time.

Hey, here's a description of the GraphiteMergeTree data table https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/graphitemergetree/#creating-table

Hey, here's a description of the GraphiteMergeTree data table https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/graphitemergetree/#creating-table


fatal error :coin/InIpoptApplication.hpp :no such file or directory

When I use the "catkin_make " to install the ifopt in my workspace ,I use the IPOPT example "hs071_cpp"(https://github.com/coin-or/Ipopt/tree/master/examples/hs071_cpp) to compile ,it occur the problem that fatal error :coin/InIpoptApplication.hpp :no such file or directory ;Can you solve my problem ?THANK YOU VERY MUCH!

Hi! you can use ifopt with mumps for it to work out of the box, as this is preinstalled with the ubuntu install (sudo apt install coinor-libipopt-dev). For that follow the instructions on the README.
The example you posted is pure IPOPT, so not relevant or maintained through this project IFOPT (the wrapper).


facts: Prevent inability to access MSRs from showing availible facts

is the idea that if we can't access mrs, we still want to be able to print the facts that we do know?

pretty much, print the error message and print what was discovered. It seems more useful to say what can be found than to try and error. I could see adding an option in the future to force a failure when msrs cannot be accessed.


feat: label policy

@fgerschwiler @livio-a is this really a fix IMO this is a feat

@fgerschwiler @livio-a is this really a fix IMO this is a feat

IMO as well... changed it to feat and WIP


Mac app crashing even after the newest update

I'm having difficulty using the desktop app on mac, every time I open the app it freezes and quits immediately.

User cleared out the cache manually, installed the new version and it still crashes.
Case/492392

This crash is caused by large amount of account data. Will look for a fix.

+1 here, using 7.4.52 on macOS 10.12.6
Upon launch, the app crashes sometimes. Looks like it's minimized, but the main window can't be maximized.
Experiencing a lot of crashes on exit, the app almost always crashes and needs help via activity monitor > force quit (waiting doesn't help). Please note that the minor macOS version doesn't really matter, I had this before 10.12.6 as well.
Should you need additional info, please let me know.

I also experience the problem, that I have to force quit the app regularly. I attach a file with the Apple diagnostic in the hope that it helps.
toggl-crash-information.txt

Fixed with library data handling rewrite


Feature: Ingest External SST

Signed-off-by: wangnengjie<EMAIL_ADDRESS>See details in: https://github.com/tikv/agatedb/issues/187

The next_txn_ts won't update when reopening db? @GanZiheng

Yes... I remember it is set to 1.

Yes... I remember it is set to 1.

Well, that's... amazing... I debug a while for my failed test. I think I should make another pr to make it works right.

Generally done. You can have a look. @GanZiheng
BTW, the rustfmt.toml use many flags that are only available in nightly channel while CI use stable channel. So it just failed though I run make format under nightly channel.

Generally done. You can have a look. @GanZiheng
BTW, the rustfmt.toml use many flags that are only available in nightly channel while CI use stable channel. So it just failed though I run make format under nightly channel.

We currently use stable channel for the sake of avoiding CI failing too often. I think there is a format error in this version of code.

Generally done. You can have a look. @GanZiheng
BTW, the rustfmt.toml use many flags that are only available in nightly channel while CI use stable channel. So it just failed though I run make format under nightly channel.

We currently use stable channel for the sake of avoiding CI failing too often. I think there is a format error in this version of code.

As what I have said, rustfmt.toml use many flags that are only available in nightly channel which makes the result of format different with stable channel. I will use stable channel to format the code later. So why not just remove all these flags that only available in nightly channel?
Does CI often failed in nightly channel? I saw that all tests (except the first one) run in nightly channel for the support of sanitizer...

Specifically, failed due to the clippy check. We can consider remove these flags or just turn back to nightly channel, I think that's not matter.


style: Make types readonly, they are never mutated.

I'd say it's not only style. Consider the following code snippet:
const stuff : readonly number[] = [1, 2, 3, 4, 5, 6, 7, 8];

// This won't work, since collection is expecting a mutable array
pool({
  collection: stuff
})

// This is ok
pool({
  collection: [...stuff]
})

The library never modifies the incoming object, nor the contents of the array. From a practical point of view, there's no reason to not make these types readonly, especially since it won't impact callers passing mutable objects/arrays.

@evantrimboli ah that makes sense. let's merge!


Add a clock

fixes #23
Reviewer checklist

[x] New Modules have module-info.java files.
[x] Public types are well-designed:

[x] no public constructors.
[x] prefer interface or impl.

[x] Ensure relevant issues are linked (description should include text like "Fixes #")
[x] Ensure any appropriate documentation has been added or amended

Coverage increased (+0.1%) to 98.824% when pulling 969047b2dd67f2443d7297fa1060199d25978eda on clock into 212f544d924c03a48d94acefe613319403ec94c4 on main.


Client should report current value of activeSignature to signatureHelpProvider

VSCode Version: 1.15.1
OS Version: Windows 10 Pro, version 1703 (x64)

Steps to Reproduce:

Trigger signature help with multiple signatures
Manually change active signature
Type a non-separator character
Watch it revert to previously active signature

Reproduces without extensions: N/A
With the current value of activeSignature in the request, the signatureHelpProvider could more intelligently decide what the activeSignature value should be in its response. This is especially the case when both arguments are not reasonably distinct enough for the provider to otherwise determine the active signature and must make it arbitrary.
Ref: #16256

This could be made part of the new SignatureHelpContext proposed in #51731

Yeah, we can think of that. What exactly do you need @KamasamaK?

@jrieken I would like the activeSignature value in the SignatureHelpContext. As described in the opening comment, the provider must return activeSignature but has to do so without knowing what the current value is in the client.

One complication is the case where there are multiple active signature help providers. In this case, the activeParameter /activeSignature alone likely isn't enough, since the provider needs a way to know if it was the one that returned the previous signature help
We could pass back the entire SignatureHelp object to support this

One complication is the case where there are multiple active signature help providers.

Not sure I understand that. Don't we always take the first provider that has a result?
https://github.com/Microsoft/vscode/blob/6bbf94c2f16a6c2150dd9789f97f44f6f17cff35/src/vs/editor/contrib/parameterHints/provideSignatureHelp.ts#L20-L27


AOE onboarding

🛠 Description
Merge AOE into dev
📋 Checklist

🔬 How did you test this change?

[ ] 🤏 Lint tests
[ ] 🤞 PS -WhatIf / az validate
[ ] 👍 Manually deployed + verified
[ ] 💪 Unit tests
[ ] 🙌 Integration tests

🙋♀ Do any of the following that apply?

[ ] 🚨 This is a breaking change.
[ ] 🤏 The change is less than 20 lines of code.

📑 Did you update docs/changelog.md?

[ ] ✅ Yes (required for dev PRs)
[ ] ➡ Will cover in a future PR (feature branch PRs only)
[ ] ❎ Not needed (small/internal change)

📖 Did you update documentation?

[ ] ✅ Public docs in docs (required for dev)
[ ] ✅ Internal dev docs in src (required for dev)
[ ] ➡ Will cover in a future PR (feature branch PRs only)
[ ] ❎ Not needed (small/internal change)

The CD workflow (aoe-test) failed due to a transient failure in the ARM deployment. Once merged into dev, the corresponding CD workflow should be successful.

I gave a try to solving the merge conflicts, but, for most of them, I am unsure about which version to consider, because I did not touch on that code. Please, let me know if help is needed in solving the conflicts for the Package-Tookit.ps1 script.

@flanakin, as the features/aoe branch was created before the major docs refactor (#563) and never synced with the dev branch before this merge, we need to bring the docs refactor changes to the AOE docs structure. This is maybe the cause of some conflicts in the docs folder. Shall we proceed with this merge and then fix the docs or do you suggest a different approach?
No matter what we do, we must choose how the AOE docs will fit into the refactored structure. Will it land into the _reporting sub-folder or into a separate new one (e.g., _aoe)?


Facebook Redirect

When i try to login at facebook, the facebook app detect this and it's dont open in browser.
,
When i will press button continue, it's not redirecting to my app :

How can I solve this problem? Help me

+1
I noticed that this seems to be happening only when redirecting from the facebook app. If facebook app is not installed and instead facebook.com is opened on the web, the redirect works properly.

@adamjmcgrath same issue here, could you take a look at this? Thanks


Update the wiki!

There are no real example of using the wrapper on the wiki, only how to instantiate the wrapper with an API key and max call amount.
To help increase adoption/ ease of use, the wiki needs more information and examples.
I will aim to complete this over the next couple of weeks.

not  a lot to be told, just reference the correct side projets and make a wrapper object and call the method you want.


Add Sorbet for Type Checking

@rzhade3:
We should consider adding Sorbet type checking.

Transferred from https://github.com/oreoshake/hackerone-client/issues/66

We discussed this and the cost benefit of this does not seem worth it.  While we would gain some type safety, it doesn't seem like we would gain much compared to how much work this would require.


expected behavior of Container Exec health check

In kubernetes/examples/liveness/exec-liveness.yaml,
...
        livenessProbe:
          exec:
            command:
              - "cat"
              - "/tmp/health"
          initialDelaySeconds: 15
        command:
          - "/bin/sh"
          - "-c"
          - "echo ok > /tmp/health; sleep 10; echo fail > /tmp/health; sleep 600"

"kubeclt get pods" shows the failure via a termination message after the 600-second sleep. Is this the expected behavior? Or shall the failure be discovered once 'echo fail > /tmp/health' is executed? Thanks.
@brendandburns

after the recent change to use exit code, this example should ALWAYS
succeed (modulo a startup race before the file exists)
On Wed, May 13, 2015 at 2:17 PM, Chao Xu<EMAIL_ADDRESS>wrote:

In kubernetes/examples/liveness/exec-liveness.yaml
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/examples/liveness/exec-liveness.yaml,
...
livenessProbe:
exec:
command:
- "cat"
- "/tmp/health"
initialDelaySeconds: 15
command:
- "/bin/sh"
- "-c"
- "echo ok > /tmp/health; sleep 10; echo fail > /tmp/health; sleep 600"
"kubeclt get pods" shows the failure via a termination message after the
600-second sleep. Is this the expected behavior? Or shall the failure be
discovered once 'echo fail > /tmp/health' is executed? Thanks.
@brendandburns https://github.com/brendandburns
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/8205.

The default TimeoutSeconds for Probe is 1 second. This command takes >600 seconds to complete, so the probing times out and kubelet kills the container and restarts it, repeatedly. You can see the restart  The example needs to be fixed.

Oops...I noticed kubelet was killing the container because of the probe failures, but didn't pay too much attention to the reason. If "exit code" is used for health check, the example should always succeed. the timeout is irrelevant given that the actual command is "cat /tmp/health".

Thanks. I'm still reading that pull request.

Ok. I'll modify the example.


Allow subclassed models to be created using MoveNodeForm - see #80

Is there anything additional that I need to do in order for you to merge this?
Thanks
Roger


Question: Move existing RGs into new MG possible?

Hi, I am looking for documentation about the following scenario, but I can't fin any; maybe this is something to add in this page?

I enabled Management Groups in an existing AD Tenant
All existing Resource Groups are listed automatically under the Root Management Group (as expected)
I create a new (child) Management Group
I am looking for a way to move these Resource Groups under the new, child Management Group, but I cannot find a way to do this. Is this a supported scenario?

Thanks in advance

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7d78cf71-d050-1d54-6048-7e92ea98084d
Version Independent ID: 16675bf7-077e-0394-c578-8bcc0226ec0b
Content: How to work with your management groups - Azure Governance - Azure governance
Content Source: articles/governance/management-groups/manage.md
Service: governance
GitHub Login: @rthorn17
Microsoft Alias: rithorn

@ioapan  Azure provides four levels of management scope i.e., Management Groups -> Subscriptions -> Resource Groups -> Resources.
So you can move subscriptions from one management group to another management group or you can move resource groups from one subscription to another subscription.
So I assume, you are trying to move your subscription from Tenant Root Group to the management group you have created. For this, you can traverse to the management group you have created and click on "Add Subscription" . Select the subscription you would like to move and click on Save.

Yes @ioapan. When you move subscription one MG to another, the resource groups will also be moved along with subscription.

Hi @ioapan - The resource hierarchy is a strict hierarchy that only allows a direct child under a Management Group to be a subscription.  A Resource Group can only be a child of a subscription in return.  Moving a subscription to be under a Management Group will force the resources groups of that subscription to be under the Management Group also.

@ioapan  As there is no further documentation changes, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.


Bug fixes and functional test fixes

Codecov Report

Merging #373 (a56452e) into master (7c70d79) will increase coverage by 6.24%.
The diff coverage is 52.29%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Merging as we need this asap


increase geranos registry rate limit

ref #166 #153
This is working fine now, but a bit slower than desirable.
I'm going to work on other improvements, but in the meantime we might as well push closer to the rate limit and reduce the sync time hit (~13m => ~1h30m).

https://prow.k8s.io/?job=*s3*
drove runs down from ~1h31m to ~1h8m


Wide notebook outputs should have a max-width and scroll

Currently, the notebook outputs from MyST NB don't have a maximum width, and so if they are particularly wide, then they'll make the whole page horizontally scrollable. For example, from this page:

Proposal
We should cap the width of the output container in notebook outputs, and make it horizontally scrollable along with adding scrollbar-style to it. For example, by adding this rule we can make it scrollable:
div.cell_output .output {
    max-width: 100%;
    overflow-x: auto;
}

results in:

should we add the custom scrollbar as well ?

Makes sense to me!


Feature: Add loading indicators for all main routes

Adds loading indicators for main routes

Closing this since the changes are done in #1935


[BUG] PhotoManager.releaseCache() hangs

Describe the bug
Calling PhotoManager.releaseCache() hangs and Future never completes and no errors are caught.  Cache is not released.
I'm looking to clear the cache as getAssetListPaged keeps growing the storage space.
To Reproduce
Steps to reproduce the behavior:
call await PhotoManager.releaseCache()
Expected behavior
Cache to be released and Future completes.
Flutter version
1.17.5
Smartphone (please complete the following information):

Device: iPhone X
OS: iOS 13.5.1

I also occur this problem.

I have also this problem.

Is this still reproducible on the latest version?


Missing injective-exchange repo

The repo mentioned in README is unavailable (or not public): https://github.com/InjectiveLabs/injective-exchange

A support ticket has been opened for you. Talk to a INJECTIVE Dev on the Live support page so that your issue can be looked into. CLICK HERE

Note that it's a new repo now https://github.com/InjectiveLabs/injective-indexer but still not open-source.


toPromise and do are not importable via operators

RxJS version: 5.5.2
Code to reproduce:
import { do, map, toPromise } from "rxjs/operators";

Expected behavior:
do and toPromise should be importable from rxjs/operators like e.g. map, buffer debounce and so on.
Actual behavior:
do and toPromise are not importable via the statement above instead the following statements are required:
import "rxjs/add/operator/do";
import "rxjs/add/operator/toPromise";

this is inconsistant.

https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md#bug-fixes-4 for toPromise and https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md#lettable-operators for do->tap .


Add IT support against security enabled cluster in docker building workflow

Changes

Refactor the testing logic to support security enabled IT
Add security enabled IT for SQL and AD plugins

Testing
https://github.com/opendistro-for-elasticsearch/opendistro-build/actions/runs/169296492

My concern is that this would build the ES docker 3 times instead of 1 time, and would take significantly run time to take a turn. @weicongs-amazon


Update rocksdbjni to 7.9.2

Updates org.rocksdb:rocksdbjni from 6.29.5 to 7.9.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.rocksdb", artifactId = "rocksdbjni" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.rocksdb", artifactId = "rocksdbjni" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Codecov Report
Base: 59.86% // Head: 59.86% // No change to project coverage :thumbsup:

Coverage data is based on head (acf3a50) compared to base (d6f9ccb).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #336   +/-   ##
=======================================
  Coverage   59.86%   59.86%
=======================================
  Files         152      152
  Lines        3254     3254
  Branches      105       92   -13
=======================================
  Hits         1948     1948
  Misses       1306     1306

Impacted Files
Coverage Δ

...health/windows/actor/HealthSignalWindowActor.scala
93.98% <0.00%> (-0.76%)
:arrow_down:

...a/surge/kafka/KafkaPartitionShardRouterActor.scala
58.38% <0.00%> (-0.68%)
:arrow_down:

.../surge/internal/kafka/KafkaProducerActorImpl.scala
77.32% <0.00%> (+0.62%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Superseded by #348.


Remove commit types from subjects in CHANGELOG

Description
Hey ✋🏻 First of all, thanks for such a great project! 💚
Changelog summarizes changes grouped by types - in the case of the Angular scheme, the type is simply the semantic prefix of the message: ci, chore, feat, etc. Within the given type, all the commits are listed with the prefix repeated, like that:
> ### Fix
> * fix: resolve hofix
> * fix: fix another bug

so, the prefix is repeated for each commit. I think that removing commit types (and capitalizing the subject) would result in a cleaner CHANGELOG:
> ### Fix
> * Resolve hofix
> * Fix another bug

Use cases
Removing prefixes will reduce redundancy.
Possible implementation
This issue is to share my idea. I don't know how to implement it, I haven't dug into the codebase yet...

@paduszyk Thanks for the report, I am working this effort it's just taken me some time to make it public in lieu of other priorities. There is a milestone for improved changelogs that I'm consolidating all of them. Feel free to check out what is planned and add what you would like to see as well.

@paduszyk, one thing I forgot to mention is that if you wanted to see this resolved in your own projects today, you can easily define your own custom changelog template and apply it to your projects.

Still on the backlog, these changes were put on hold while I attended to other improvements and fixes

:tada: This issue has been resolved in version 9.13.0 :tada:
The release is available on:

PyPi package
GitHub release


Flutter Crash: ==== CRASH =====

I just run my flutter app normally and this happen and is not getting resolved after doing flutter clean or restarting vscode or even restarting laptop...
==== CRASH =====
ExceptionCode=-1073741819, ExceptionFlags=0, ExceptionAddress=00007FF7FD0D5C17
version=2.10.0-7.2.beta (beta) (Mon Aug 17 11:01:01 2020 +0200) on "windows_x64"
pid=6732, thread=321
2, isolate_group=main(0000022A0F82D770), isolate=main(0000022A0F831050)
isolate_instructions=22a0e200000, vm_instructions=7ff7fce0eef0
Stack dump aborted because GetAndValidateThreadStackBounds failed.
FAILURE: Build failed with an exception.

Where:
Script 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 897

What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command 'C:\src\flutter\bin\flutter.bat'' finished with non-zero exit value 1

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 1m 29s
Exception: Gradle task assembleDebug failed with exit code 1

@shyamkawale can you provide your doctor and the output of flutter run -v

@shyamkawale can you provide your doctor and the output of flutter run -v
Thanks @iapicca,
I don't know what happened but I shutdown and then started my laptop and then it was working very fine...

If the problem is fixed consider closing the issue


How to Use Validator.collectErrors?

Describe your question
I am doing some validations and I'd like to be able to catch all the exceptions and handle the response. I noticed this is what Validator.collectErrors is for. However, when I try to use it, the first validation exception fires instead. I'm probaby doing something wrong, I tried to find an example in the documentation that states how to handle the errors.
How can I use this method to handle collected erros?
Here's what I've got:
Validator<String> name = ctx.formParam("name", String.class)
    .check(_name -> !_name.isEmpty(), "Name is required.");

Validator<String> email = ctx.formParam("email", String.class)
    .check(_email -> !_email.isEmpty(), "Email is required.")
    .check(_email -> _email.contains("@"), "Not a valid email address.");

Map<String, List<String>> errors = Validator.collectErrors(name, email);

if (!errors.isEmpty()) {
    Message message = new Message("Contact created");
    Contact contact = new Contact(name.get(), email.get());
    contacts.add(contact);
    ctx.json(message);
} else {
    ctx.json(errors);
}

Silly! I don't understand conditionals apparently

@ellioseven glad you figured it out! Could the docs be improved in this case?

I think it's pretty straight forward, I just made a silly mistake.

Okay, thank you!


v4.4.0

#21 #31 Added IbanGenerator.
LTS: change target frameworks .NET 4.5 and 4.7 to 4.5.2 and 4.7.2 respectively.
Fix Iraq (IQ) and Finland (FI) patterns (does not affect validation outcome).
Introduce pattern abstraction for registry which encapsulates a pattern string and tokenizer. Deprecates IStructureValidationFactory, but keeps backwards compatible. Patterns are useful when implementing more/future providers to extend country support.

Codecov Report

Merging #32 (2dea9ac) into master (a10cd4a) will decrease coverage by 1.29%.
The diff coverage is 90.17%.

Impacted Files
Coverage Δ

src/IbanNet/IbanFormatException.cs
100.00% <ø> (ø)

.../Validation/CompositeStructureValidationFactory.cs
64.28% <0.00%> (-7.15%)
:arrow_down:

src/IbanNet/Registry/Patterns/PatternException.cs
25.00% <25.00%> (ø)

src/IbanNet/Registry/Patterns/PatternTokenizer.cs
60.00% <60.00%> (ø)

src/IbanNet/Extensions/PartitionExtensions.cs
88.88% <83.33%> (-11.12%)
:arrow_down:

...rc/IbanNet/Registry/Swift/SwiftPatternTokenizer.cs
87.17% <87.17%> (ø)

src/IbanNet/Validation/StructureValidator.cs
94.44% <94.28%> (-5.56%)
:arrow_down:

src/IbanNet/Registry/IbanGenerator.cs
96.96% <96.96%> (ø)

src/IbanNet/Registry/Patterns/PatternToken.cs
96.96% <96.96%> (ø)

...anNet.DependencyInjection.Autofac/IbanNetModule.cs
100.00% <100.00%> (ø)

... and 19 more


 Apologies to any watchers who are
annoyed.

Closing because I am not actively developing the tech@ app anymore.


style: add missing markup for featured cards

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description
This PR adds missing styles for featured cards to make them as per design in Figma

Related Tickets & Documents

Fixes #244
Mobile & Desktop Screenshots/Recordings
After merge the cards will have changes shown below

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Rebase the main branch to get the latest on here. Looks like there are bugs on this PR that have been fixed already. https://github.com/open-sauced/hot/issues/261


[med] Label: Many Pages: Contact search field has no visible label, only placeholder text

Action Performed:
Prerequisite: user has created a personal account and is logged into same.

Using Chrome, open https://staging.new.expensify.com/
Click on the "+" menu button and select "New Group" option.
Notice the appearance of the "Name, email or phone number" text field.
Begin typing any characters into the field and check if the field label is still visible.

Expected Result:
The field should have a persistent, visible label. Placeholder text should not be used as the sole visible label for any field.
Actual Result:
The field uses only placeholder text as the visible label (i.e. 'Name, email or phone number'), which describes the accepted input type, but not the purpose of the field (separate issue). The placeholder text is removed from view once the user begins entering text.
HTML:
<input placeholder="Name, email, or phone number" autocapitalize="sentences" autocomplete="on" autocorrect="on" dir="auto" spellcheck="true" type="text" class="css-11aywtz r-tz77pi" value="" style="background-color: rgb(255, 255, 255); border-color: rgb(236, 236, 236); border-radius: 8px; border-width: 1px; color: rgb(11, 27, 52); font-family: GTAmericaExp-Regular; font-size: 15px; height: 42px; padding: 10px 12px; vertical-align: middle;">
Other occurrences:

The search field in search side panel on Chat page.
The message bar field on Chat page.
The "Name, email or phone number" text field in New Chat overlay.

Workaround:
No workaround
Area issue was found in:
New group overlay, Chat page, New chat overlay
Failed WCAG checkpoints
3.3.2
User impact:
User with cognitive impairments may not remember what input the field accepts and for what purpose. They will be forced to delete any text already input in order to see the placeholder text again. This makes it frustrating and difficult for users to check their input before submitting.
Suggested resolution:
Do not use placeholder text as the only method to visually label input fields. Ensure that any label used for the field remains visible at all times. The  tag with "for" attribute can be used to associate the visible label with the text field.
https://www.w3.org/WAI/tutorials/forms/labels/
https://www.w3.org/WAI/tutorials/forms/instructions/#placeholder-text
Platform:
Where is this issue occurring?

Web

Version Number:
**Reproducible in staging?:**Yes
Reproducible in production?:
Notes/Photos/Videos: Any additional supporting documentation
Issue reported by:

View all open jobs on GitHub

I guess an easy fix here would be to use our standard form styles where the small label floats above the input value after the user enters something?

@shawnborton not sure if it was a question for me, but I'll comment it. The floating labels are a good approach for accessibility as long as they are always visible and announced by screen readers.


Using ZED camera

Hi,
Where can I modify so that can work with a ZED stereo camera ?

You can start by running this launch file, which spins up only the VSLAM node. The VSLAM node requires a pair of rectified image topics, which can be produced by the ZED Camera node publishing into a pair of Isaac ROS Image Rectify nodes from isaac_ros_image_pipeline.


Capture Webin User from drag-and-drop into embassy VM

https://trello.com/c/9mD9Joig/54-capture-webin-user-from-drag-and-drop-into-embassy-vm
Prepend WEBIN_ID with metadata spreadsheet name.
/cc @z-w123, @MightyAx, @clairerye, @ke4

Deployed /cc @MightyAx

Hi Dipayan,
I don't have access to the trello board - but I understand it's probably
for internal use within your team.
I understand this task is related to ENA brokering?
Thank you.
Kind regards,
Zahra
On 2021-03-26 07:31, Dipayan Gupta wrote:

https://trello.com/c/9mD9Joig/54-capture-webin-user-from-drag-and-drop-into-embassy-vm
Prepend WEBIN_ID with metadata spreadsheet name.
/cc @z-w123 [1], @MightyAx [2], @clairerye [3], @ke4 [4]
--
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub [5], or unsubscribe
[6].
Links:
[1] https://github.com/z-w123
[2] https://github.com/MightyAx
[3] https://github.com/clairerye
[4] https://github.com/ke4
[5] https://github.com/ebi-ait/sars-cov2-data-upload/issues/37
[6]
https://github.com/notifications/unsubscribe-auth/AK2DS4QW6PDA2IDA7TOMK4LTFQZ4PANCNFSM4Z23UPOA

@z-w123 Hi Zahra - I missed this comment from you.
Yes it is right, we need the Webin-ID to be able to broker the data files to ENA and if the Webin-ID can be captured from the drag'n'drop then with super user password the files can be transferred to Webin FTP.

understood - thank you @dipayan1985 !👍


support for page up/down

I added support for page up/down keys: they skip 10 entries at once. Further I "disabled" the home and end keys to avoid printing of chars in the search prompt. Please have a look and merge it into master.

Thank you for the useful contribution :+1:  appreciate it!


[service-loadbalancer] never in sync?

Hi
I try to test lb:0.4 on kube 1.1.8 (coreos 899.9.0/vmware). It doesn't run on this environment because it is never in sync here:
https://github.com/kubernetes/contrib/blob/f08086d4876281f7118fdcb16518eb069c556fa7/service-loadbalancer/service_loadbalancer.go#L511
Does anyone know, what this could be?
Thanks

it could be related to #478

I've solved it with deleted all service tokens. solved with help of https://github.com/kubernetes/kubernetes/issues/20217 from @glerchundi. Thanks.