Spectrum Example configuration is invalid

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
rj@C02FTAWRMD6R terraform % terraform -v
Terraform v1.5.3
on darwin_amd64
+ provider registry.terraform.io/cloudflare/cloudflare v4.5.0

Affected resource(s)
cloudflare_spectrum_application
Terraform configuration files
terraform {
  required_providers {
    cloudflare = {
      source = "cloudflare/cloudflare"
      version = "4.5.0"
    }
  }
}

provider "cloudflare" {
  email = "..."
  api_key = "..."
}

variable "zone_id" {
  default = "86cb..."
}

variable "account_id" {
  default = "e745..."
}

variable "domain" {
  default = "tf.ross.gg"
}

# This is from https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/spectrum_application#nestedblock--origin_dns
resource "cloudflare_spectrum_application" "spectrum" {
  zone_id      = var.zone_id
  protocol     = "tcp/22"
  traffic_type = "direct"

  dns {
    type = "CNAME"
    name = "ssh.example.com"
  }

  origin_direct = [
    "tcp://<IP_ADDRESS>:22"
  ]

  edge_ips {
    type = "static"
    ips  = ["<IP_ADDRESS>", "<IP_ADDRESS>"]
  }
}

Link to debug output
See panic output below
Panic output
When using origin_direct = ["tcp://<IP_ADDRESS>:22"], we get this output because it is in the documentation reserved range
cloudflare_spectrum_application.spectrum: Creating...
╷
│ Error: error creating spectrum application for zone: One or more of the origin addresses are invalid. (11002)
│
│   with cloudflare_spectrum_application.spectrum,
│   on cloudflare.tf line 46, in resource "cloudflare_spectrum_application" "spectrum":
│   46: resource "cloudflare_spectrum_application" "spectrum" {
│
╵
When using these edge_ips as above BYOIP, we get an error
cloudflare_spectrum_application.spectrum: Creating...
╷
│ Error: error creating spectrum application for zone: The edge_ips configuration provided has an invalid type. (11024)
│
│   with cloudflare_spectrum_application.spectrum,
│   on cloudflare.tf line 46, in resource "cloudflare_spectrum_application" "spectrum":
│   46: resource "cloudflare_spectrum_application" "spectrum" {
│
╵
Expected output
NA
Actual output
NA
Steps to reproduce
Use the config as above with a DNS CNAME record that is appropriate for your zone.
Additional factoids
I recommend changing the example to this, so that creation runs with only dns > name change.
resource "cloudflare_spectrum_application" "spectrum" {
  zone_id      = var.zone_id
  protocol     = "tcp/22"
  traffic_type = "direct"

  dns {
    type = "CNAME"
    name = "ssh.example.com"
  }

  origin_direct = [
    "tcp://<IP_ADDRESS>:22"
  ]

  edge_ips {
    type = "dynamic"
    connectivity = "all"
  }
}

Creating this in lieu of an engineering ticket. Feel free to reach out internally if you have any questions.
References
Source document: https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/spectrum_application#nestedblock--origin_dns

I have recreated these broken configurations and can confirm that using TF_LOG=DEBUG does not change the log output.

we use rfc5737/rfc3849 IP ranges for our documentation and are intentionally not copy pastable (much like zone and account tags in our examples).


Changed code to Code component in Checkbox

Changed code to Code component in Checkbox and removed unused image.

Some comments about the checkbox examples:

By default, the code is only opened for the first example and not for the rest. Everyone should have the code opened from the beginning.
I don't find very interesting the example Label position, the explanation provided for the prop is enough, don't you think?
Code indentation is not 2 spaces as we are currently doing on the other examples.
Rename the 'Basic' example to 'Basic Usage' as it is done in other components.
Remove every margin from the examples. Try to have the same space around for every component.
For the first example ('Basic Usage'), here is a way to do the same but with less code:

() => {
  return (
    <DxcInset space="xlarge">
      <DxcRow gutter="large">
        <DxcCheckbox label="Default" />
        <DxcCheckbox label="Label" optional />
        <DxcCheckbox label="Disabled" disabled />
      </DxcRow>
    </DxcInset>
  );
}

Also, I don't think we should do examples for optional and disabled, since they don't require further explanation than what the prop description says, in terms of code of course (maybe in Usage tab...).


Add Redhill School

Please see add for Redhill School

@23HarEas First stage of verification passed, official domain is redhill.co.za as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Please see link to STEM subject offering page, https://www.redhill.co.za/curriculum/future-focused-education/stem-education

@23HarEas Thank you for your patience while waiting for a review and processing your request. Pull request merged.


espup update removed other installed toolchains

Environment

OS: Windows 10
espup version: espup 0.2.3
installed toolchain: Toolchain '<IP_ADDRESS>'

Can you try if the issue still happens with an updated version of espup (0.2.6 for example)?

Hi @dimpolo! I was not able to reproduce this issue. Try with a recent release (0.2.9) and see if it reproduces.
Also, #182 will change a lot of stuffs, so probably this will be fixed if it wasn't already since 0.2.3 is pretty old (Nov 17 2022).
Since there are not a lot of details and I was not able to reproduce it, I will be closing the issue. Feel free to reopen it if the issue still persists for you (with recent version).

Ah, sorry I didn't get back to you sooner.
I currently don't have time to investigate this, so closing makes sense!


Improve authenticator by catching exceptions thrown.

Before this when the authenticator failed there would be no logging to show what was going wrong
because while exceptions were being thrown, nothing was catching them.
What is the context of this PR?
Link to Trello card
Describe what you have changed and why, link to other PRs or Issues as appropriate.
How to review
Any notes for the reviewer  (include screenshots if appropriate).

No need to catch BadRequest it propagates as a 400


DXVK v2.5.2 GTA IV lights not displaying properly

GTA IV using dxvk version 2.5.2 lights do not display properly, on the contrary version 2.5.1 does not have this error, what is going on?
Software information
Grand Theft Auto IV The Complete Edition
System information
GPU: RTX 3060TI
Driver: 566.36
Wine version: Windows 11 24H2
DXVK version: 2.5.2

Probably already fixed. Try the latest master. You can find a build here: https://github.com/doitsujin/dxvk/actions/runs/12435734651


I don't want nested ifs to trigger warnings

@etanshaul
@chanseokoh
I thought this was turned off. But I'm getting PMD errors on another PR that this change seems to fix.

lgtm

LGTM. This wasn't turned off, and individual cases were suppressed with // NOPMD comments. I will make a separate PR to remove those comments as we have excluded this rule.


All CJK translation return double characters,

All CJK translation return double characters. For example, 'hello, world' will return 世世界界您您好好！！

Closed as duplicate.
Duplicate of #8582


Prevent Creation of Dashboard with same name.

Different users can create dashboard with same name. The System should prevent that and api should return an error code(400 Bad Request) with helpful message.

Fixed with https://github.com/capitalone/Hygieia/pull/853


Suggested updates to current exactMatch xref MeSH ID

The following  MONDO terms have been highlighted in a recent data check where the listed MeSH ID exactMatch needs review, I have made suggestions below to review.

[x] MONDO:0004691 autosomal dominant polycystic kidney disease
Currently closeMatch is parent MeSH term D007690 Polycystic Kidney Diseases, suggest change to child MeSH term D016891 Polycystic Kidney, Autosomal Dominant

[x] MONDO:0012172 mitochondrial trifunctional protein deficiency
Currently closeMatch is D024741 Cardiomyopathy, Hypertrophic, Familial, suggest change to MeSH term D024741 Trifunctional Protein Deficiency With Myopathy And Neuropathy

[x] MONDO:0013241 spinocerebellar ataxia type 30
Currently C537206 is listed as closeMatch - this is Spinocerebellar Ataxia 29, suggest change to MeSH term C575214 Spinocerebellar ataxia 30

[x] MONDO:0005711 congenital diaphragmatic hernia
Currently C538080 is listed as closeMatch - this is Hernia, Diaphragmatic, suggest change to MeSh term D065630 Hernias, Diaphragmatic, Congenital

FYI - Trifunctional Protein Deficiency With Myopathy And Neuropathy is MESH:C566945
related to https://github.com/monarch-initiative/mondo/issues/2786


Abstract out environment factor propagation

Environment factors rely in somewhat subtle arithmetic to construct scalar fields on the graph with symmetric distributions, i.e. such that the origin cannot be identified. We shouldn't be separately hardcoding that math for every single environment factor.

This was substantially improved by the move to using a real RNG in #66, but there's still substantial per-factor boilerplate we should try to do away with.


Remove SCIOND API mock

Now that most of the code base uses gomock, we no longer need hard-coded mocks. The existing mocking code in sciond should be refactored.

For mocking, we use the github.com/golang/mock/gomock framework.
Mock files are generated using make mocks. To add mocked interfaces, tools/gomocks must be updated.

Fixed by https://github.com/scionproto/scion/pull/3014.


SnackBar

What would you like to be added:
https://material.io/components/snackbars
Why is this needed:
It's part of the Material Design specs and gives great contextual information
For which Platform:

[x] UWP
[x] iOS
[x] Android
[x] WebAssembly

Anything else we need to know?

As an additional requirement, for snackbar we should have a way to trigger it in C#. Similar to the Android API
SnackBar.Make(...).Show()
To discuss!

Issue closed for Uno.Themes as the SnackBar control was removed and another issue is now open for Uno.Toolkit.UI (https://github.com/unoplatform/uno.toolkit.ui/issues/171) in order to create a better cross-platform control in Toolkit.


Update various files for Java 11, Shibboleth IdP 4

Hi,
We have used your plugin in Shibboleth 3.4.6 without any problems. It has worked very well and we are very pleased. We have now upgraded to Shibboleth 4.0.1 on our test server. Unfortunately, your plugin does not work in this version. Do you have any plans to update your plugin with support for Shibboleth 4.0.1? In that case, we would be very grateful.
Sincerely
Per-Olof Axelsson

Per-Olof Axelsson | System technician
IT department | University of Borås
Allégatan 1 | 501 90 Borås

Hi Per-Olof,
I'm not sure if the repo maintainers actually see your comment. As the one who submitted the pull request, I got a copy of it. I opened it 5 months ago and haven't heard a word on it.
I can confirm that I am using the plugin, in production, on IdP 4.0.1 with the code in this PR.
HTH,
-Matt

Hi Matt,
This was good news!
I have installed the plugin on our test server and it works perfectly. Many thanks for your help.
Much appreciated!
Sincerely,
Per-Olof
On 18 November 2020 at 15:21:39 +01:00, Matt Brennan<EMAIL_ADDRESS>wrote:

Hi Per-Olof,
I'm not sure if the repo maintainers actually see your comment. As the one who submitted the pull request, I got a copy of it. I opened it 5 months ago and haven't heard a word on it.
I can confirm that I am using the plugin, in production, on IdP 4.0.1 with the code in this PR.
HTH,
-Matt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/wraezor/privacyIDEA-shibboleth-tfa/pull/6#issuecomment-729710103, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOGC4C5DDSVGUT3CK4IGAGTSQPJ7HANCNFSM4NX7A3FQ.


Compressed file does not open in usual word processor

It seems that some point is not considered while compressing cfb file. It opens well in web-based word processor, but it does not open in computer-based word processor.
Tests were held using Hancom Office 2014 and Microsoft Office 365 Word.
Here are several cases for this misbehavior. Check each case so that we can know it was the real problem.

[x] Compared to normal cfb file which has directory entry starts right after header sector, cfb file created with cfbpy locates right before the fat sector, which is next to last sector area of the file.
[ ] Free sector of mini FAT is padded with zero instead of 0xffffffff (FREESECT).
[ ] Unused mini sector is filled with zero instead of 0xff. This is case for file created from Polaris Office Web.

After check the case above, mark as checked in check box and write detail as comment.

Checked: It seems location of the directory entry sector is irrelevant with this problem. It still does not work..

It seems that creating tree structure for directory entry was wrong. It has different order between created by cfbpy and polaris office.


"dontLoad": "node_modules" by default

Without "dontLoad": "node_modules" sublime beachballs indefinitely.
Wouldn't it be a good idea to add this to the default options?

Definitely not, since it breaks all completions for modules. What does your project look like?

I had been using Atom for the past year, and occasionally Tern would crash, but it seemed to fail and not bring down the editor; whereas Sublime straight-up freezes.
Marijn is correct though - you don't want to disable autocompletion and tooltips for all your libraries.
This glob pattern will ignore everything except react, react-dom, and redux. Just separate each word with a pipe.
"dontLoad": [
  "**/node_modules/!(react*|redux)/**/*.js"
]

An array of glob patterns like that won't work though. For example:
"dontLoad": [
  "**/node_modules/!(react)/**/*.js",
  "**/node_modules/!(redux)/**/*.js"
]

Because they will cancel each other out and effectively not load anything in node_modules.
I've spent the past few hours Googling this and playing around with my .tern-project, and this seems to be working.
Oh yeah, thanks @marijnh for a great tool for us to use.

@marijnh Actually my project was quite simple. Just a couple of packages.
If the solution is what @adamelliotfields suggested, then maybe ternjs could read package.json and only load packages listed there.


The GL entry is displaying zero when creating a purchase receipt for a fixed asset.

Information about bug
The GL entry is displaying zero value when creating a purchase receipt for a fixed asset.

Module
assets
Version
Assets: v0.0.1 (pre-prod)
ERPNext: v15.34.0 (pre-prod)
Frappe Framework: v15.41.0 (pre-prod)
Installation method
None
Relevant log output / Stack trace / Full Error Message.
No response

Fixed https://github.com/8848digital/Assets/pull/49


helm chart for hypershift

What this PR does
use native hypershift install functionality within helm chart
the external DNS part is still part of this helm chart. will be removed during P3.
Jira: https://issues.redhat.com/browse/ARO-11084
Link to demo recording:
Special notes for your reviewer

When deploying this the servicemonitor is created under the wrong group, should be azmonitoring.coreos.com
kubectl get servicemonitor.monitoring.coreos.com -A
NAMESPACE                                                       NAME                                  AGE
hypershift                                                      operator                              18h

When deploying this the servicemonitor is created under the wrong group, should be azmonitoring.coreos.com
kubectl get servicemonitor.monitoring.coreos.com -A
NAMESPACE                                                       NAME                                  AGE
hypershift                                                      operator                              18h

we can't avoid that hypershift installs the monitoring.coreos.com CRs for the time being, but i've added an azmonitoring.coreos.com flavor of the operator ServiceMonitor so we can scrape with managed prometheus.


toObject() hook should check for presence of .toObject()

If it's not a mongoose model, just leave it alone.  Don't try to run toObject() when it's not there.

I'm fixing this right now.


Allow to use repository scope helper function from other packages

docker.Authorizer requires library clients to configure scope via context.
It is helpful for the clients to use the helper (currently private) function for
generating scope string and to use that function with the combination of other
scope-related ones (e.g. docker.WithScope).

@mikebrow
fixed the patch. PTAL

/ok-to-test


How to create a REST API using Spring Boot, Maven, and MySQL

Article checklist
ATTENTION: In your PR - add the ISSUE (topic form) # that this PR corresponds to. You can do this by also adding a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.
This fixes #2609.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines

This fixes #2948

Good afternoon and thank you for submitting your article for publishing. @Lekwacious
Your article has been entered into our queue and should be reviewed (and published pending any changes) as soon as a peer reviewer is finished with the ones in the queue before it.
Thank you.

@Lekwacious
Welcome to EngEd community! Congratulations on your first article!
Before we start the review, could you please add a hero image of dimensions 600x400? Use Unsplash for downloading images, and use Pixlr to edit them.
Make sure to add to your info and a headshot image under /contents/authors directory. Please refer the contributing guide to know more.
Also, rename this file content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/Screenshot (2).png to a more meaningful name. (Ensure you update in your article as well).
Ping me here or via Slack, in case of any queries.
Thanks.

Hi  Srishilesh,
Thanks for reaching out to me. As instructed, I have made the necessary
changes and pushed. Please, you may begin the review.
Thanks and Regards.
On Sat, Jul 24, 2021 at 9:12 AM Srishilesh P S @.***>
wrote:

@Lekwacious https://github.com/Lekwacious
Welcome to EngEd community! Congratulations on your first article!
Before we start the review, could you please add a hero image of
dimensions 600x400? Use Unsplash for downloading images, and use Pixlr to
edit them.
Make sure to add to your info and a headshot image under /contents/authors
directory. Please refer the contributing guide to know more.
Also, rename this file content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/Screenshot
(2).png to a more meaningful name. (Ensure you update in your article as
well).
Ping me here or via Slack, in case of any queries.
Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/2948#issuecomment-886018532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSVUJ634PNKOROUJF3OW4TTZJYVRANCNFSM5AOZJCHQ
.

plagiarism check done

Thanks. Well done, you are doing a great job.
On Wed, Jul 28, 2021 at 5:15 PM hectorkambow @.***>
wrote:

plagiarism check done
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/2948#issuecomment-888439704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSVUJYHPRIARJGDI6CJINLT2AUJ3ANCNFSM5AOZJCHQ
.

@Lekwacious
I found two other files of a different article: content/articles/android-recyclerviews/android-workmanager/hero.jpg and content/articles/android-recyclerviews/android-workmanager/index.md edited.
Could you please remove them?
Meanwhile, I'll get started with the review.
Thanks.

Hi Srishilesh,
I have made the corrections as suggested by you.
Thanks.
On Thu, Jul 29, 2021 at 6:37 PM Srishilesh P S @.***>
wrote:

@.**** requested changes on this pull request.
@Lekwacious https://github.com/Lekwacious
Great article.
I've made a few suggestions. Ping me when it's done.
Also, make sure to perform a grammar review using Grammarly.
And, don't forget the changes that I mentioned on additional files in your
commit. (Mentioned in the previous comment)
Thanks.
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679344797
:

+* How to create and set up a spring boot application with a tomcat server.

+* MySQL Database Configuration in a Spring Boot project.
+* You will learn how to implement Object Relational Mapping using Hibernate.
+* Maven for dependency management.
+* Exception Handling in Java.
+* How to consume a rest API using postman.
+* How to document API using Swagger.
For bullet points, use -, instead of *
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679345104
:

+To fully understand this tutorial, you are required to have the following in place:

+* Good understanding of Java.
+* At least fundamental knowledge of the Spring framework and Spring Boot. However I will explain everything in detail, so if you are new to the Spring framework don’t be afraid I will be your friend on this journey.
+* Java Development Kit(JDK) installed to install.
+* Postman installed or click on the link to download and install.
+* Maven installed or click on the link to download and install.
+* IntelliJ installed or click on the link to install. You can use any other IDEA of choice.

-> -

In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679346158
:

+* I will name the group “com.lekwacious”

+* I will call artifact employee_app
I will name the group “com.lekwacious” -> Let's name the group as
“com.lekwacious”
Always don't write from the first person's view, write from the 3rd
person's view.
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679346443
:

+* Spring web: Makes you project a web application. The spring-boot-starter-web dependency transitively pulls in all dependencies related to web development. uses Spring MVC, REST, and Tomcat as a default embedded server.

+* Spring Data JPA: Allow us to persist data in SQL databases using Spring Data and Hibernate which is an implementation of the JPA. JPA stands for Java Persistent API, It's a specification that is part of Java EE(Enterprise Edition) and defines an API for object-relational mappings and for managing persistent objects and relational databases. It is considered a standard approach for Object Relational Mapping. Being that JPA is a specification, it does not perform any operation by itself, as such requires implementation. Hibernate is one of those ORM(Object Relational Mapping) tools that implements JPA. Others include TopLink, MyBatis.
+* MySQL Driver: It is a dependency that connects the MySQL database to a spring boot application.
Replace *.
Do this throughout the article
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679348246
:

+* Maven for dependency management.

+* Exception Handling in Java.
+* How to consume a rest API using postman.
+* How to document API using Swagger.

+### Prerequisites

+To fully understand this tutorial, you are required to have the following in place:
+* Good understanding of Java.
+* At least fundamental knowledge of the Spring framework and Spring Boot. However I will explain everything in detail, so if you are new to the Spring framework don’t be afraid I will be your friend on this journey.
+* Java Development Kit(JDK) installed to install.
+* Postman installed or click on the link to download and install.
+* Maven installed or click on the link to download and install.
+* IntelliJ installed or click on the link to install. You can use any other IDEA of choice.

+### 1. Project Initialization and Setup
You can remove these header numbers throughout the article.
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679348524
:

+For this project I have added three dependencies namely:
+* Spring web: Makes you project a web application. The spring-boot-starter-web dependency transitively pulls in all dependencies related to web development. uses Spring MVC, REST, and Tomcat as a default embedded server.
+* Spring Data JPA: Allow us to persist data in SQL databases using Spring Data and Hibernate which is an implementation of the JPA. JPA stands for Java Persistent API, It's a specification that is part of Java EE(Enterprise Edition) and defines an API for object-relational mappings and for managing persistent objects and relational databases. It is considered a standard approach for Object Relational Mapping. Being that JPA is a specification, it does not perform any operation by itself, as such requires implementation. Hibernate is one of those ORM(Object Relational Mapping) tools that implements JPA. Others include TopLink, MyBatis.
+* MySQL Driver: It is a dependency that connects the MySQL database to a spring boot application.

+#### 1.2 Project Initialization and Setup Using Spring Initializer*

+Alternatively, If you are not using IntelliJ you can use the Spring Initializer to set up your project. Enter the Maven project properties of the project including the dependencies as we did above and click on the generate button. This will generate a zip file and download it for you. Unzip it and open in your favorite IDEA and sync the dependencies with Maven.

2. Maven Dependency Management

+The pom.xml file houses the dependencies, Maven plugins in our project.
⬇ Suggested change
-The pom.xml file houses the dependencies, Maven plugins in our project.
+The pom.xml file houses the dependencies, and the Maven plugins in our project.

In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679349191
:

   <plugins>

       <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

       </plugin>

   </plugins>

+
+```

+### 3. Configuring  MySQL, JPA, Hibernate
+In the resources folder within the src/main folder, open application.properties file and write the below properties.
Always highlight keywords/variables/directory/filename using ``
Here, highlight src/main
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679350908
:

+```xml

+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-parent</artifactId>

   <version>2.5.2</version>

   <relativePath/> <!-- lookup parent from repository -->

com.lekwacious

employee_app

0.0.1-SNAPSHOT

employee_app

Demo project for Spring Boot

   <java.version>11</java.version>

   <!--        newly added dependencies-->

   <dependency>

       <groupId>javax.validation</groupId>

       <artifactId>validation-api</artifactId>

   </dependency>

   <dependency>

       <groupId>io.springfox</groupId>

       <artifactId>springfox-boot-starter</artifactId>

       <version>3.0.0</version>

   </dependency>

+

   <dependency>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-data-jpa</artifactId>

   </dependency>

   <dependency>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-web</artifactId>

   </dependency>

   <dependency>

       <groupId>mysql</groupId>

       <artifactId>mysql-connector-java</artifactId>

       <scope>runtime</scope>

   </dependency>

   <dependency>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-test</artifactId>

       <scope>test</scope>

   </dependency>

   <plugins>

       <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

       </plugin>

   </plugins>

+

+```
Instead of writing the whole file here, just type out the modified part.
The whole file can be added as a link linking to a GitHub repository
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679352847
:

public String getFirstName() {

   return firstName;

}

public void setFirstName(String firstName) {

   this.firstName = firstName;

}

public String getLastname() {

   return lastname;

}

public void setLastname(String lastname) {

   this.lastname = lastname;

}

public String getPhoneNumber() {

   return phoneNumber;

}

public void setPhoneNumber(String phoneNumber) {

   this.phoneNumber = phoneNumber;

}

public String getEmail() {

   return email;

}

public void setEmail(String email) {

   this.email = email;

}

public double getSalary() {

   return salary;

}

public void setSalary(double salary) {

   this.salary = salary;

}

public Department getDepartment() {

   return department;

}

public void setDepartment(Department department) {

   this.department = department;

}

You can remove these getter/setter methods. Just explain the change here.
Our goal here is not to type out full codes in a tutorial. You can just
type out necessary part (not redundant), and put the rest in a GitHub repo,
and link them here.
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679354160
:

@Override

public MessageResponse createEmployee(EmployeeRequest employeeRequest) {

   Employee newEmployee = new Employee();

   newEmployee.setFirstName(employeeRequest.getFirstName());

   newEmployee.setLastname(employeeRequest.getLastname());

   newEmployee.setPhoneNumber(employeeRequest.getPhoneNumber());

   newEmployee.setEmail(employeeRequest.getEmail());

   newEmployee.setSalary(employeeRequest.getSalary());

   newEmployee.setDepartment(employeeRequest.getDepartment());

   employeeRepository.save(newEmployee);

   return new MessageResponse("New Employee created successfully");

}

@Override

public Optional updateEmployee(Integer employeeId, EmployeeRequest employeeRequest)  throws ResourceNotFoundException{

   Optional<Employee> employee = employeeRepository.findById(employeeId);

   if (employee.isEmpty()){

   throw new ResourceNotFoundException("Employee", "id", employeeId);

   }

   else

   employee.get().setFirstName(employeeRequest.getFirstName());

   employee.get().setLastname(employeeRequest.getLastname());

   employee.get().setPhoneNumber(employeeRequest.getPhoneNumber());

   employee.get().setEmail(employeeRequest.getEmail());

   employee.get().setSalary(employeeRequest.getSalary());

   employee.get().setDepartment(employeeRequest.getDepartment());

   employeeRepository.save(employee.get());

   return employee;

}

@Override

public Employee getASingleEmployee(Integer employeeId) throws ResourceNotFoundException{

   return employeeRepository.findById(employeeId)

           .orElseThrow(() -> new ResourceNotFoundException("Employee", "id", employeeId));

}

@Override

public List getAllEmployee() {

   return employeeRepository.findAll();

}

@Override

public void deleteEmployee(Integer employeeId) throws ResourceNotFoundException {

   if (employeeRepository.getById(employeeId).getId().equals(employeeId)){

       employeeRepository.deleteById(employeeId);

   }

   else throw new ResourceNotFoundException("Employee", "id", employeeId);

}

Instead of writing all functions as one large code snippet, you can break
them down into smaller code snippets like:

The first code snippet contains the general outer structure
Each function will be a code snippet. Make sure to explain alongside
it.
Also, make sure to add code comments

By doing this, the reader need not scroll to view the code and its
explanations.
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679355362
:

+//Line 19 to 24 is the newly added code for swagger documentation

@.***(value = {

   @io.swagger.annotations.ApiResponse(code = 400, message = "This is a bad request, please follow the API documentation for the proper request format"),

   @io.swagger.annotations.ApiResponse(code = 401, message = "Due to security constraints, your access request cannot be authorized"),

   @io.swagger.annotations.ApiResponse(code = 500, message = "The server is down. Please bear with us."),

+}
Just add this newly added code will be enough. Remove the other redundant
code
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679349650
:

+* Maven for dependency management.

+* Exception Handling in Java.
+* How to consume a rest API using postman.
+* How to document API using Swagger.

+### Prerequisites

+To fully understand this tutorial, you are required to have the following in place:
+* Good understanding of Java.
+* At least fundamental knowledge of the Spring framework and Spring Boot. However I will explain everything in detail, so if you are new to the Spring framework don’t be afraid I will be your friend on this journey.
+* Java Development Kit(JDK) installed to install.
+* Postman installed or click on the link to download and install.
+* Maven installed or click on the link to download and install.
+* IntelliJ installed or click on the link to install. You can use any other IDEA of choice.

+### 1. Project Initialization and Setup
Probably, you could add a Table of contents
In
content/articles/how-to-create-a-rest-api-using-spring-boot-maven-and-mysql/index.md
https://github.com/section-engineering-education/engineering-education/pull/2948#discussion_r679349266
:

   <plugins>

       <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

       </plugin>

   </plugins>

+
+```

+### 3. Configuring  MySQL, JPA, Hibernate
+In the resources folder within the src/main folder, open application.properties file and write the below properties.
Do this everywhere
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/2948#pullrequestreview-718350072,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSVUJZ2GDS2M4KVADTZO3TT2GGW7ANCNFSM5AOZJCHQ
.

Hey @Lekwacious,
Just noticed in your commits that two files were deleted.
Please add content/articles/android-workmanager/index.md and content/articles/android-workmanager/hero.jpg back, before we proceed for the tech review.
Thanks.

@srishilesh I have added the two files and pushed. Please let's move on to the tech review.

Hi Srishilesh, You asked me to remove the two files in your last comments and I did just that. Please check the previous comments to confirm this.

@Lekwacious
I guess you misunderstood my statement. Let me clarify it again.
It's good that you added them back.
But, I see that you have renamed those directories content/articles/android-workmanager/hero.jpg as content/articles/android-recyclerviews/android-workmanager/hero.jpg, and the same for index.md. You are not supposed to touch other articles in your PR. Please revert them back.
Hope you understand.
Thanks.

@srishilesh  Done! Please confirm so we can proceed.

@Lekwacious
Perfect. This is as expected.
I'll do the tech review by tomorrow.
Thanks.

@srishilesh
just wanted to get a status update on this PR - as it has been in our queue for quite a while now.

@srishilesh
just wanted to get a status update on this PR - as it has been in our queue for quite a while now.

@hectorkambow
The tech review is in progress. Will complete my review by tomorrow.
(Forgot to update the labels)
Cc. @Lekwacious

@srishilesh
Seen.
Thanks.

@Lekwacious
👍 overall nice work - very detailed and straight forward tutorial
Please review and suggestions/changes made by your peer reviewer and/or myself during a final review.
cc @srishilesh Please do the same 👍


Remove System.Data.SqlClient package dependency from project

We need to change MsSqlConnectionStringBuilder  "ToString" implementation so we can remove the need for System.Data.SqlClient.SqlConnectionStringBuilder and System.Data.SqlClient package.
Basic refactor idea:
Follow the same implementation as MySQLConnectionStringBuilder.

I will submit a PR for this.

@jrgcubano the PR is done, i am open for revision.
I think this is very important to target the 2.1.1 milestone.
I did not remove the package dependency yet (i don't know how to do it on the right way).


Add support for JVM based projects

This PR attempts to add support in the base logic for JVM based projects.

This is still under process. Not ready to review yet.

To run it:
python3 -m data_prep.introspector <PROJECT_NAME_IN_OSS_D -m 5 -o <RESULT_DIR>
export LLM_NUM_EXP=<NUMBER_OF_PARALLEL_THREAD>
./run_all_experiments.py --model=gpt-3.5-turbo --benchmarks-directory=<RESULT_DIR_FROM_ABOVE>

/gcbrun request_pr_exp.py -n test-gemini-1-5 -m vertex_ai_gemini-1-5

/gcbrun request_pr_exp.py -n test-jvm -m vertex_ai_gemini-1-5 -b jvm

I created #274 from this to run the gcbrun experiments. They currently only work on branches on this repo, and not forked repos.

@arthurscchan are you able to generate a successful report  based on this?
From https://github.com/google/oss-fuzz-gen/pull/274, we get https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-15-274-test-jvm-jvm/index.html which is not  showing  any results.

@oliverchang I did not have access to the sample report. But I do think that I did not specifically change things for the report generation process. I am mostly focus on the flow and coverage report diff. Thus I am not sure if there are changes needed for the JVM report and I am not even aware of the part of code for the report generation. Can you point me to the code location for the report generation and I could go and double confirm that? Sorry for the overseeing of the report part.

@arthurscchan are you able to generate a successful report based on this?
From #274, we get https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-15-274-test-jvm-jvm/index.html which is not showing any results.

Column Status shows them all as running, is this accurate? The results doesn't match what we get from local runs

@oliverchang
For reference, here is the result I got from my local run of those 5 benchmarks.
================================================================================
*fuzzywuzzy, [me.xdrop.fuzzywuzzy.algorithms.DefaultStringProcessor].process(java.lang.String)*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.025390625, max line coverage diff: 2.75
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-fuzzywuzzy-me.xdrop.fuzzywuzzy.algorithms.defaultstringprocessor.process_java.lang.string/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-fuzzywuzzy-me.xdrop.fuzzywuzzy.algorithms.defaultstringprocessor.process_java.lang.string/fixed_targets/01.ja
va
max coverage diff report: None

================================================================================
*fuzzywuzzy, [me.xdrop.diffutils.DiffUtils].levEditDistance(java.lang.String,java.lang.String,int)*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.130859375, max line coverage diff: 25.5
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-fuzzywuzzy-me.xdrop.diffutils.diffutils.leveditdistance_java.lang.string_java.lang.string_int/fixed_targets/02.jav
a
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-fuzzywuzzy-me.xdrop.diffutils.diffutils.leveditdistance_java.lang.string_java.lang.string_int/fixed_targets/0
2.java
max coverage diff report: None

================================================================================
*sqlite-jdbc, [org.sqlite.date.DateFormatUtils].format(long,java.lang.String)*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.75, max line coverage diff: 3.782608695652174
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-sqlite-jdbc-org.sqlite.date.dateformatutils.format_long_java.lang.string/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-sqlite-jdbc-org.sqlite.date.dateformatutils.format_long_java.lang.string/fixed_targets/01.java
max coverage diff report: None

================================================================================
*sqlite-jdbc, [org.sqlite.date.DateFormatUtils].formatUTC(long,java.lang.String,java.util.Locale)*
build success rate: 1.0, crash rate: 0.5, found bug: 1, max coverage: 0.7421875, max line coverage diff: 3.765217391304348
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-sqlite-jdbc-org.sqlite.date.dateformatutils.formatutc_long_java.lang.string_java.util.locale/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-sqlite-jdbc-org.sqlite.date.dateformatutils.formatutc_long_java.lang.string_java.util.locale/fixed_targets/01
.java
max coverage diff report: None

================================================================================
*jsemver, [com.github.zafarkhaja.semver.Version].tryParse(java.lang.String,boolean)*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.47265625, max line coverage diff: 56.666666666666664
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-jsemver-com.github.zafarkhaja.semver.version.tryparse_java.lang.string_boolean/fixed_targets/02.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-jsemver-com.github.zafarkhaja.semver.version.tryparse_java.lang.string_boolean/fixed_targets/02.java
max coverage diff report: None

================================================================================
*jsemver, [com.github.zafarkhaja.semver.Version].of(long,long,long)*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.04296875, max line coverage diff: 3.0
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-jsemver-com.github.zafarkhaja.semver.version.of_long_long_long/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-jsemver-com.github.zafarkhaja.semver.version.of_long_long_long/fixed_targets/01.java
max coverage diff report: None

================================================================================
*json-java, [org.json.JSONArray].putAll(java.lang.String[])*
build success rate: 0.0, crash rate: 0.0, found bug: 0, max coverage: 0.0, max line coverage diff: 0.0
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-json-java-org.json.jsonarray.putall_java.lang.string/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-json-java-org.json.jsonarray.putall_java.lang.string/fixed_targets/01.java
max coverage diff report: None

================================================================================
*json-java, [org.json.JSONArray].putAll(int[])*
build success rate: 1.0, crash rate: 0.0, found bug: 0, max coverage: 0.056640625, max line coverage diff: 8.25
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-json-java-org.json.jsonarray.putall_int/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-json-java-org.json.jsonarray.putall_int/fixed_targets/01.java
max coverage diff report: None

================================================================================
*twitter4j, [twitter4j.OAuth2Token].equals(java.lang.Object)*
build success rate: 0.0, crash rate: 0.0, found bug: 0, max coverage: 0.0, max line coverage diff: 0.0
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-twitter4j-twitter4j.oauth2token.equals_java.lang.object/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-twitter4j-twitter4j.oauth2token.equals_java.lang.object/fixed_targets/01.java
max coverage diff report: None

================================================================================
*twitter4j, [twitter4j.TimeSpanConverter].toTimeSpanString(long)*
build success rate: 0.0, crash rate: 0.0, found bug: 0, max coverage: 0.0, max line coverage diff: 0.0
max coverage sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-twitter4j-twitter4j.timespanconverter.totimespanstring_long/fixed_targets/01.java
max coverage diff sample: /mnt/volume_lon1_01/oss-fuzz-gen/results/output-twitter4j-twitter4j.timespanconverter.totimespanstring_long/fixed_targets/01.java
max coverage diff report: None

@arthurscchan are you able to generate a successful report based on this?
From #274, we get https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-15-274-test-jvm-jvm/index.html which is not showing any results.

Column Status shows them all as running, is this accurate? The results doesn't match what we get from local runs

They seem to be erroring out , so they're left as "Running".

@arthurscchan are you able to generate a successful report based on this?
From #274, we get https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-15-274-test-jvm-jvm/index.html which is not showing any results.

Column Status shows them all as running, is this accurate? The results doesn't match what we get from local runs

They seem to be erroring out , so they're left as "Running".

This is because our web report generation didn't work for Java. Fixed in https://github.com/google/oss-fuzz-gen/pull/275.

With the report fix in and https://github.com/google/oss-fuzz-gen/commit/8c4e5ba264f1406c50d06966254c4083cd69aa88, we now get a working web report:
https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-16-274-test-jvm-4-jvm/index.html#
The line cov diff shows as all 0 though, which is inconsistent to https://github.com/google/oss-fuzz-gen/pull/236#issuecomment-2113109959. Can you please take a look to see if anything is wrong, or if it's just because the quality of the targets generated are lower?

The latest report  with  some fixes incoporated (from https://github.com/google/oss-fuzz-gen/pull/274/) is https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-16-274-test-jvm-5-jvm/index.html
The percentages look wrong -- we have one that claims a 5666.67% coverage increase.
This looks consistent with the same benchmark in https://github.com/google/oss-fuzz-gen/pull/236#issuecomment-2113109959 where  "56.666666666666664" is reported.
The number there should be a number in the range [0.0, 1.0], so something must be going wrong the the division here: https://github.com/google/oss-fuzz-gen/blob/b1a654007b13c5129d8c8e5b7cfc7a1341f4254d/experiment/evaluator.py#L344
@arthurscchan can you please take a look?

@oliverchang I have added comments and cherry picking the changes from #274 accordingly. I do found the reason for the strange max coverage data. It is mainly because of the different information in the summary.json for the coverage report of JVM projects. It lacks the information of total lines in the project and thus the total lines information used for the calculation is wrong. I have fixed the logic by directly getting the total line count from the jacoco.xml report from the current one in order to retrieve the correct number for the calculation. To answer your question, the number used already deducted the lines that has been covered in existing coverage report, thus the number shown in the result is what has been gained from the new fuzzers generated by oss-fuzz-gen.

@oliverchang Additional information, the summary.json for the coverage report of JVM projects lacks that information. And after some search, it seems that sumamry.json is generated from the oss-fuzz side in https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-runner/coverage#L218-L227 with the script  jacoco_report_converter.py. Thus if we need to make the summary.json have the needed information, we will need to change the infer of oss-fuzz to accommodate that. I think at the moment, using my approach in oss-fuzz-gen to retrieve the total line number by parsing the jacoco.xml of the current run is a better option to get the correct max line coverage diff number for JVM projects.

Thanks! The latest report is now available here: https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-05-17-274-test-jvm-6-jvm/index.html


[DEV-12376] Fix - Valid ESM build

The previous build setup was not working for us, because:

vite build was bundling all files into aggregate chunks (making impossible use client directive)
use client directives were erased by the build system
the "ESM" build artifacts were not valid ESM modules too

What's done:

Replace vite build system with babel  (which makes it valid ESM/CommonJS)
Extract css-in-js stylesheets to a separate PostCSS build

Tests are failing...

Tests are failing...

It's not new. The Chromatic check has been broken for a while already. :see_no_evil:


Fix AttributeError in OAuth2 token handling

This PR addresses an issue where access_token and pc_hostname attributes were not accessible in the TokenHandler.get_access_token method, leading to an AttributeError. The HTTPServer object was being used, which didn't have these attributes.
The fix involves creating a new HTTPServerWithAttributes class that inherits from HTTPServer and includes these additional attributes. This class is used instead when creating the server in the TokenHandler.get_access_token method.
The PR also modifies the start_server inner function to use serve_forever instead of handle_request, and adds a call to http_server.shutdown() after the access token is retrieved to ensure the server properly shuts down.
With these changes, the OAuth2 authorization flow should work as expected, correctly retrieving and using the access token for pCloud API requests.

Superseeded by #90


SchemaParser

I am unable to pass a .graphqls file to the parse function of SchemaParser. How to do it?

You have to read the file into a String first and use that together with the SchemaParserBuilder.
String schemaString = readSchemaFile("file.graphqls"); // this is your own method to read the file
SchemaParserBuilder builder = new SchemaParserBuilder();
builder.schemaString(schemaString);
SchemaParser parser = builder.build();

This snippet doesn't show the use of dictionary or resolvers btw, but only focuses on reading a schema file.

Worked. Thanks. :)

btw, just saw in a unit test that you can do it even simpler:
SchemaParser.newParser().file("file.graphqls").build();


[0.9.2] CQ timeout caused http write timeouts.

I just noticed a CQ timed out randomly after running fine for the last 12 or so hours since I added it.
CQ:
CREATE CONTINUOUS QUERY lo_requests_revs ON database BEGIN select count(PARAMS.uid) into lo_requests_revs from "300lo" group by time(1m), releaseVersion END

The logs showed only this
[continuous_querier] 2015/07/27 08:51:56 timeout
[continuous_querier] 2015/07/27 08:51:56 error: timeout. running: SELECT count(PARAMS.uid) INTO "database"."week_policy".lo_requests_revs FROM "database"."week_policy"."300lo" WHERE time >= '2015-07-27T12:51:00Z' AND time < '2015-07-27T12:52:00Z' GROUP BY time(1m), releaseVersion
[continuous_querier] 2015/07/27 08:51:56 error executing query: CREATE CONTINUOUS QUERY lo_requests_revs ON database BEGIN SELECT count(PARAMS.uid) INTO "database"."week_policy".lo_requests_revs FROM "database"."week_policy"."300lo" GROUP BY time(1m), releaseVersion END: err = timeout
[http] 2015/07/27 08:51:57 <IP_ADDRESS> - - [27/Jul/2015:08:51:52 -0400] POST /write?db=database&precision=ms&rp= HTTP/1.1 500 32 - Apache-HttpClient/4.4.1 (Java/1.8.0_45) 40cd5308-345e-11e5-9c0b-000000000000 5.003602351s
[shard] 2015/07/27 08:51:57 flush 2 points in 0.027s

Everything after this was constant 5s timeouts on writes.
releaseVersion has relatively low cardinality (about 20 or so for this query)

I too am getting a timeout in continuous queries
[continuous_querier] 2015/07/27 12:46:58 timeout
[continuous_querier] 2015/07/27 12:46:58 error during recompute previous: timeout. running: SELECT sum(value) INTO "connecto"."default".page_calls_pm FROM "connecto"."default".page_calls WHERE time >= '2015-07-27T12:45:00Z' AND time < '2015-07-27T12:46:00Z' GROUP BY time(1m)
[continuous_querier] 2015/07/27 12:46:58 error executing query: CREATE CONTINUOUS QUERY page_calls_per_minute ON connecto BEGIN SELECT sum(value) INTO "connecto"."default".page_calls_pm FROM "connecto"."default".page_calls GROUP BY time(1m) END: err = timeout
Although in my case all the writes were anyway timing out
[http] 2015/07/27 12:46:59 <IP_ADDRESS> - root [27/Jul/2015:12:46:54 +0000] POST /write?u=root&p=root&database=connecto&precision=ms&db=connecto HTTP/1.1 500 8 - - 8f583854-345d-11e5-9330-000000000000 5.0011198s

Yea, this is the 3rd time in 24hrs it has happened. I finally noticed it in the logs, so I opted to remove that CQ. (I updated to 0.9.2 about 24hrs ago now)
Spikes are times http write timeouts :(

@mathurs did your write timeouts start very closely to the CQ timeout?

No, actually my writes start timing out gradually after server start. I am writing at about a 1000qps and initially the writes are fine but after a few minutes, the latency gradually increases and the writes start to timeout. Once that happens the continuous queries also start to time out, so I don't think the CQ's cause the write timeouts.

Try adjusting your wal settings
I lowered my max-wal-size to 1048576 (1mb) and i have been able to write over 3k+ per second sustained. My points are relatively small though in size, so my requests aren't huge. You might want to tweak accordingly. `wal flushes will block writes, so a write immediately after will have slightly higher latency (nothing ot crazy from what i have seen)

Tried this also and tried reducing other load on the server, doesn't seem to help. Infact, my reads are also frozen now.

@jhorwit2 @mathurs do you have similar restart experiences as I reported in https://github.com/influxdb/influxdb/issues/3488?

@beckettsean yes. I get the same port already in use and I just have to wait for it to finally die before i can restart to clear the timeouts. I have gotten this error at least 6 times in the since Sunday.
I did notice if i removed my CQ that was doing a where tag =~ /regex/ it doesn't fail. Your CQ wouldn't happen to have a regex would it?

My CQ does not have a regex. It's quite simple:
CREATE CONTINUOUS QUERY foo ON telegraf BEGIN
   SELECT mean(value) INTO cpu_idle_5m FROM cpu_idle GROUP BY time(5m), cpu
END

I am selecting from and writing to the same retention policy, which means reads and writes to the same shards. Does your CQ also write to the same RP from which it pulls data?

Yes

@mathurs are you reading from and writing to the same retention policy in your CQ that times out?
Could be we have write/read lock contention at the shard level, exacerbated by constrained resource availability.

Is there anyway to report metrics on such things currently (gonna guess no after quickly looking through the shard write code) or would it require profiling the app?

I think most of the profiling the core team does involves attaching a profiler to the running process, nothing baked in and user-facing. Unfortunately SHOW STATS and SHOW DIAGNOSTICS are both still waiting to be wired back up following the cluster redesign. Your improved CQ logging PR was merged and should be available in the recent nightly builds.
@dgnorton @corylanou @pauldix any recommendations for how @jhorwit2 could investigate the CQ locking & timeouts a bit more closely?

#3488 has another case of this happening. Same experience last night, my CQ timed out just after a WAL flush and all writes were 500s until two restarts later:
CQ timeout > 500s on writes. Database is fine for queries but all telegraf writes return 500.
[http] 2015/07/28 23:47:02 <IP_ADDRESS> - - [28/Jul/2015:23:47:02 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 204 0 - telegraf 9e6b2b72-35bd-11e5-8fb8-000000000000 2.217053ms
[http] 2015/07/28 23:47:09 <IP_ADDRESS> - - [28/Jul/2015:23:47:09 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 204 0 - telegraf a296e94b-35bd-11e5-8fb9-000000000000 2.104355ms
[http] 2015/07/28 23:47:16 <IP_ADDRESS> - - [28/Jul/2015:23:47:16 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 204 0 - telegraf a6c3fd99-35bd-11e5-8fba-000000000000 2.052723ms
[shard] 2015/07/28 23:47:20 flush 1511 points in 0.008s
[continuous_querier] 2015/07/28 23:47:25 timeout
[continuous_querier] 2015/07/28 23:47:25 error: timeout. running: SELECT mean(value) INTO "telegraf"."default".cpu_idle_5m FROM "telegraf"."default".cpu_idle WHERE time >= '2015-07-29T06:45:00Z' AND time < '2015-07-29T06:50:00Z' GROUP BY time(5m), cpu
[continuous_querier] 2015/07/28 23:47:25 error executing query: CREATE CONTINUOUS QUERY foo ON telegraf BEGIN SELECT mean(value) INTO "telegraf"."default".cpu_idle_5m FROM "telegraf"."default".cpu_idle GROUP BY time(5m), cpu END: err = timeout
[http] 2015/07/28 23:47:28 <IP_ADDRESS> - - [28/Jul/2015:23:47:23 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf aaefed1c-35bd-11e5-8fbb-000000000000 5.007557306s
[http] 2015/07/28 23:47:35 <IP_ADDRESS> - - [28/Jul/2015:23:47:30 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf af1b58e9-35bd-11e5-8fbc-000000000000 5.002282771s

pkill influxd and restart with  influxd -config /usr/local/etc/influxdb.conf 2>> ~/workspace/logs/influxd.log & leads to a hard shutdown:
[http] 2015/07/29 11:37:09 <IP_ADDRESS> - - [29/Jul/2015:11:37:04 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf cf30c9e7-3620-11e5-92ab-000000000000 5.005835919s
[run] 2015/07/29 11:37:10 signal received, initializing clean shutdown...
[run] 2015/07/29 11:37:10 waiting for clean shutdown...
[snapshot] 2015/07/29 11:37:10 snapshot listener closed
[tcp] 2015/07/29 11:37:10 cluster service accept error: network connection closed
[metastore] 2015/07/29 11:37:13 [INFO] raft: Node at <IP_ADDRESS>:8088 [Follower] entering Follower state
[metastore] 2015/07/29 11:37:13 read local node id: 1
[metastore] 2015/07/29 11:37:14 [WARN] raft: Heartbeat timeout reached, starting election
[metastore] 2015/07/29 11:37:14 [INFO] raft: Node at <IP_ADDRESS>:8088 [Candidate] entering Candidate state
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Votes needed: 1
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Vote granted. Tally: 1
[metastore] 2015/07/29 11:37:14 [INFO] raft: Election won. Tally: 1
[metastore] 2015/07/29 11:37:14 [INFO] raft: Node at <IP_ADDRESS>:8088 [Leader] entering Leader state
[metastore] 2015/07/29 11:37:14 [INFO] raft: Disabling EnableSingleNode (bootstrap)
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:14 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[http] 2015/07/29 11:37:16 <IP_ADDRESS> - - [29/Jul/2015:11:37:11 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf d35cea29-3620-11e5-92ac-000000000000 5.000702979s
[http] 2015/07/29 11:37:23 <IP_ADDRESS> - - [29/Jul/2015:11:37:18 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf d788f44f-3620-11e5-92ad-000000000000 5.000658076s
[snapshot] 2015/07/29 11:37:24 snapshot listener closed
[tcp] 2015/07/29 11:37:24 cluster service accept error: network connection closed
[shard-precreation] 2015/07/29 11:37:24 precreation service terminating
run: open server: open service: listen tcp :8083: bind: address already in use
[http] 2015/07/29 11:37:30 <IP_ADDRESS> - - [29/Jul/2015:11:37:25 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf dbb4716f-3620-11e5-92ae-000000000000 5.004789863s
[http] 2015/07/29 11:37:37 <IP_ADDRESS> - - [29/Jul/2015:11:37:32 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 500 32 - telegraf dfe14191-3620-11e5-92af-000000000000 5.004511327s
[run] 2015/07/29 11:37:40 time limit reached, initializing hard shutdown

After the hard shutdown, a second restart works just fine, and writes are back.
[metastore] 2015/07/29 11:37:57 [INFO] raft: Node at <IP_ADDRESS>:8088 [Follower] entering Follower state
[metastore] 2015/07/29 11:37:57 read local node id: 1
[shard] 2015/07/29 11:37:57 flush 1247 points in 0.019s
[shard] 2015/07/29 11:37:57 flush 886 points in 0.014s
[shard] 2015/07/29 11:37:58 flush 1494 points in 0.022s
[shard] 2015/07/29 11:37:58 flush 1407 points in 0.020s
[shard] 2015/07/29 11:37:58 flush 1233 points in 0.018s
[shard] 2015/07/29 11:37:58 flush 1133 points in 0.016s
[shard] 2015/07/29 11:37:58 flush 1305 points in 0.020s
[admin] 2015/07/29 11:37:58 listening on HTTP: [::]:8083
[httpd] 2015/07/29 11:37:58 authentication enabled: false
[httpd] 2015/07/29 11:37:58 listening on HTTP: [::]:8086
2015/07/29 11:37:58 InfluxDB starting, version 0.9.2, commit 6c0a91f775f9fc0e625d17ffa04a3fe86945ba09
2015/07/29 11:37:58 GOMAXPROCS set to 8
[run] 2015/07/29 11:37:58 listening for signals
[metastore] 2015/07/29 11:37:59 [WARN] raft: Heartbeat timeout reached, starting election
[metastore] 2015/07/29 11:37:59 [INFO] raft: Node at <IP_ADDRESS>:8088 [Candidate] entering Candidate state
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Votes needed: 1
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Vote granted. Tally: 1
[metastore] 2015/07/29 11:37:59 [INFO] raft: Election won. Tally: 1
[metastore] 2015/07/29 11:37:59 [INFO] raft: Node at <IP_ADDRESS>:8088 [Leader] entering Leader state
[metastore] 2015/07/29 11:37:59 [INFO] raft: Disabling EnableSingleNode (bootstrap)
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
[metastore] 2015/07/29 11:37:59 [DEBUG] raft: Node <IP_ADDRESS>:8088 updated peer set (2): [<IP_ADDRESS>:8088]
2015/07/29 11:37:59 Sending anonymous usage statistics to m.influxdb.com
[http] 2015/07/29 11:38:00 <IP_ADDRESS> - - [29/Jul/2015:11:38:00 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 204 0 - telegraf f091c3b2-3620-11e5-8001-000000000000 1.811326ms
[http] 2015/07/29 11:38:07 <IP_ADDRESS> - - [29/Jul/2015:11:38:07 -0700] POST /write?consistency=&db=telegraf&precision=&rp= HTTP/1.1 204 0 - telegraf f4bded57-3620-11e5-8002-000000000000 2.539653ms

Sorry, for the delay in my response. Yes, the restart log looks very similar. I have to cleanly shutdown first wait for it to reach hard time limit, and then restart. Except, in my case its very predictable. I restart it and within 5-10 minutes it reaches time out stage and everything freezes. @beckettsean, its not just my CQs, but all my writes are also timing out.

Does anyone notice panics during this restart process? I see this #3468

ok, I'm guessing this has to do with how the WAL flushes currently work. We're in the middle of working on a solution for this. Will hopefully make it into master early next week.

There a ticket on that? I'm curious to see the problem / fix.

@jhorwit2 There are probably a dozen different ones open on it right now. I've opened  #3514 as an issue to track the work on the WAL specifically.

:+1:

Not sure if I'm experiencing the same issue or a variant (with 0.9.2). I am not using continuous queries (after https://github.com/influxdb/influxdb/issues/3362), but seem to be having the same symptoms after running a query (occasionally).
normal writes, the sun is shining, all is good:
[http] 2015/08/06 21:25:31 <IP_ADDRESS> - - [06/Aug/2015:21:25:31 +0000] POST /write?db=metrics_production&precision=ms HTTP/1.1 204 0 - - aa4ed19c-3c81-11e5-bf00-000000000000 24.31452ms

then, the killer query (with some vars replaced with x/y) - although it's not slow, it takes only ~4ms:
[http] 2015/08/06 21:25:31 <IP_ADDRESS> - - [06/Aug/2015:21:25:31 +0000] GET /query?db=metrics_production&q=select+mean(value)+from+%22cpu.load.value%22+where+%22zonename%22+%3d+%27y%27+and+%22account%22+%3d+%27x%27+and+%22period%22+%3d+%275min%27+and+time+%3e+now()+-+1h+GROUP+BY+time(1m)%3b%0d%0aselect+mean(value)+from+%22net.bytes.rate%22+where+%22zonename%22+%3d+%27y%27+and+%22account%22+%3d+%27x%27+and+%22op%22+%3d+%27w%27+and+time+%3e+now()+-+1h+GROUP+BY+time(1m)%3b%0d%0aselect+mean(value)+from+%22net.bytes.rate%22+where+%22zonename%22+%3d+%27y%27+and+%22account%22+%3d+%27x%27+and+%22op%22+%3d+%27r%27+and+time+%3e+now()+-+1h+GROUP+BY+time(1m)%3b%0d%0aselect+mean(value)+from+%22memory.usage.value%22+where+%22zonename%22+%3d+%27y%27+and+%22account%22+%3d+%27x%27+and+%22type%22+%3d+%27rss%27+and+time+%3e+now()+-+1h+GROUP+BY+time(1m)%3b HTTP/1.1 200 25 - - aaaef87a-3c81-11e5-bf08-000000000000 4.16173ms

everything 500's after this point, with ~5s response times (presumably a timeout of some kind):
[http] 2015/08/06 21:25:36 <IP_ADDRESS> - - [06/Aug/2015:21:25:31 +0000] POST /write?db=metrics_production&precision=ms HTTP/1.1 500 32 - - aa51ac2e-3c81-11e5-bf01-000000000000 5.002281318s

and finally the hard shutdown part:
[http] 2015/08/06 21:26:49 <IP_ADDRESS> - - [06/Aug/2015:21:26:44 +0000] POST /write?db=metrics_production&precision=ms HTTP/1.1 500 32 - - d5cd0dcb-3c81-
11e5-8009-000000000000 5.018538153s
[run] 2015/08/06 21:26:49 time limit reached, initializing hard shutdown

URL decoded version of the query for easier reading:
select mean(value) from "cpu.load.value" where "zonename" = 'y' and "account" = 'x' and "period" = '5min' and time > now() - 1h GROUP BY time(1m);
select mean(value) from "net.bytes.rate" where "zonename" = 'y' and "account" = 'x' and "op" = 'w' and time > now() - 1h GROUP BY time(1m);
select mean(value) from "net.bytes.rate" where "zonename" = 'y' and "account" = 'x' and "op" = 'r' and time > now() - 1h GROUP BY time(1m);
select mean(value) from "memory.usage.value" where "zonename" = 'y' and "account" = 'x' and "type" = 'rss' and time > now() - 1h GROUP BY time(1m);

@nicksellen if you issue those queries individually does it still lead to the 500s and the shutdown?

I ended up having to turn off all my CQ because of this :(. Now writes never timeout.

@jhorwit2 CQs will be a significant focus of the 0.9.4 release. There are still a lot of rough edges there.

@beckettsean ah, this could make sense if having a bunch of queries causes a timeout and triggers the same behaviour as a CQ causing a timeout - and I never had the problem with queries made from grafana (which are all individual).
It's happening less frequently now (or maybe not at all) as I am running the queries themselves less frequently (for other reasons) - the sample size would be so small I wouldn't know if the change to separate queries had made a difference. I'll try that though if it increases in frequency again, good suggestion.
And to clarify, the shutdown was always manually issued via service influxdb stop - just that it takes a while and eventually does the hard shutdown stuff.

@nicksellen thanks for the clarification on the hard shutdown, I'm glad InfluxDB isn't committing suicide. Something about the locking behavior that leads to the slow queries and stalled writes also seems to stall the shutdown process.
I think it's less that the number of queries causes the problem, and more that the deadlocking issue becomes more likely as write volume and number of points queried rise. High enough write volume and a single query might cause the locking. Query enough points and a low write volume might still start timing out. Running four queries on different measurements covers more points than a single one, and maybe issuing them in the same statement makes the locking more likely.
In any event, this performance issue is the major focus of the 0.9.3 remaining effort, and the changes to the WAL have dramatically reduced the risk in our testing. Looking forward to your results with 0.9.3 final late next week.

I would like to share my experience on this thread, i am writing very less data 1~5 writes per second, each have 1~5 points,
I have tested with count function in cq query resulted not in success, received 500 after some time,
tested without count function in cq query resulted in success, haven't 500.
it is very likely one of the reason of "500s related with the CQs issue" is because of the count(field) aggregate function?

@eminden thanks for the report. It is possible that certain aggregations, like COUNT, are more likely to lead to 500 errors. What were your exact continuous queries? Can you show the one with the COUNT aggregate that leads to errors, and the one without COUNT that doesn't lead to 500 errors?

@beckettsean sorry for not returning back about what you are asking, i am not able to give you concrete steps to reproduce the same, but i did some tests that i would like to share , here are what i found ;

do not use multiple same aggregation function without "AS" statement, this causes only one field on the destination measurement.
for example do not create a cq query like,
create continuous query test on testdb begin select sum(field1), sum(field2) form measurement end
instead,
create continuous query test on testdb begin select sum(field1) as field1sum, sum(field2) as field2sum form measurement end

if some fields have null values, use fill(), otherwise this is causing 500s on writes.

chained cqs (raw to 5min, 5min to 1hour) have some problem, i have seen same 500s on writes issue when there are two cq chained.

I think this might be solved by a couple of the PRs that are open. #3522 #3517
We might want to wait for I'm guessing 9.4

@eminden

is fixed by this PR, will be in 0.9.3: https://github.com/influxdb/influxdb/pull/3564

I'm not sure I understand, are you saying that when running a CQ where the aggregations come up null for the GROUP BY interval, that the write fails? That makes sense, and I suppose would require  fill()` statement. I'm not sure there's any other workaround, since interpolating or guessing at the proper value would be wrong at least half the time. Maybe the CQ should not write that point?

It's best not to chain CQs, but to run all the aggregations from the raw data. E.g. raw to 5min, raw to 1hour, etc. The end results are the same, but it prevents data race issues with the CQs and also eliminates the errors from summarizing a summary.

@jhorwit2 that's correct, 0.9.4 is slated for major CQ work, but 0.9.3 is still focused on clustering.

@beckettsean

i was testing with the yesterdays nightly build. seems what i summarised above has to be taken care by the user or influx has to stop accepting the faulty create cq command.

my case was like raw data was inserted with null values and cq was summing up on these fields, it is problematic without fill()

I suppose the performance will be degraded in case always querying in raw data, right?
I am trying to understand how cqs are working internally, i suppose i have seen that every cq is running with the same interval(which the interval is defined in the config file, i guess default is 2m0s) and inserting aggregated data to destination measurement regardless of the duration defined in the group by time() , is this correct?

@eminden thanks for the clarification on #1, I see what you're saying now. It's not that AS wasn't working, it's that if the user doesn't supply aliases for multiple instances of the same function, the inserted results are wrong.
Can you open a new issue for that? I don't see one currently, and we should address that in the parser or some other way in the CQs.

@beckettsean

It's best not to chain CQs

This is a surprising statement, given prior conversations here, here, and here.
Are you only referring to chaining CQs into the same retention policy being a bad idea? We rely heavily on chaining CQs from short retention policies to longer ones.

Brett, absolutely InfluxDB recommends using multiple CQs to downsample at
multiple intervals to multiple retention policies, as appropriate for your
retention plans, but I personally wouldn't call that chaining, since they
run concurrently on the data, not consecutively.
By "chaining CQs" I mean aggregating raw into 1m, and then aggregating 1m
into 15m, and then 15m into 1h, etc. That introduces uncertainties because
each successive aggregation is summarizing a summary.
Much better to aggregate raw to 1m, raw to 15m, raw to 1h, etc., all
running in parallel and using raw data as the source.
If you aren't using an aggregation function, but instead a selector like
FIRST, LAST, TOP, MAX, etc., then there's no real loss of fidelity from
downsampling already downsampled data, although the timestamps will get
muddled until https://github.com/influxdb/influxdb/issues/1577 is fixed.
On Thu, Aug 13, 2015 at 8:56 AM, Brett Higgins<EMAIL_ADDRESS>wrote:

@beckettsean https://github.com/beckettsean
It's best not to chain CQs
This is a surprising statement, given prior conversations here
https://groups.google.com/forum/#!msg/influxdb/4aC0AMPCcFs/K_WxfE9egOIJ,
here
https://groups.google.com/forum/#!searchin/influxdb/downsample/influxdb/xJVpiS-VkB0/Aa0flPsfwmEJ,
and here https://github.com/influxdb/influxdb/issues/3333.
Are you only referring to chaining CQs into the same retention policy
being a bad idea? We rely heavily on chaining CQs from short retention
policies to longer ones.
—
Reply to this email directly or view it on GitHub
https://github.com/influxdb/influxdb/issues/3469#issuecomment-130737175.

--
Sean Beckett
Director of Support and Professional Services
InfluxDB

Created https://github.com/influxdb/influxdb/issues/3643 for the aliasing issue reported by @eminden

By your definition, then, we are chaining CQs; we are always downsampling "one step" from one retention policy into a longer one with larger bins. I was under the impression that this was a well-supported use case, based on @pauldix's previous post:

From there you can see that downsampling can happen from the raw space or from other already downsampled spaces.

The remaining confusion for me is that, without doing this, we'd have to keep raw data around for the second-longest of all our retention policies. In our case, I think it's 1-week bins for a year, so we would have to keep raw data (10-second bins) for a week, rather than for an hour as we currently do. This defeats a chunk of the space savings of having cascading downsampling.
Basically I guess I'm making a request that the race conditions get fixed. :-) I don't really think you're planning to punt that to the user, but this seems like a perfectly reasonable use case given the abilities of (continuous) queries to pull from specific retention policies.

@brettdh It is a supported use case. I didn't say it was forbidden, just that it had side effects best avoided if possible.
Your second point is very valid, you have to ensure that the sampled data persists for at least as long as the GROUP BY interval for the downsampled aggregations. In your case that will necessitate downsampling from already aggregated data.
To be perfectly clear, I'm not at all saying you cannot run a CQ on already downsampled data, I'm just saying don't do that if you don't have to.
More CQ docs are coming as part of the 0.9.4 release, stay tuned.

Awesome, thanks for clarifying. 0.9.3 and 0.9.4 look to have a bunch of things that I'm really looking forward to.

Should be solved with 0.9.3. Please reopen if that isn't the case.

I'm waiting for 9.4 probably before i try CQ again, but will do.


bump version to 0.5.0-dev

Coverage remained the same at 88.318% when pulling 48d72e9265a72679b4074458171e6e04f2919942 on bump into 5ab3cad794881e5010f2da40a28d84befc335cba on main.


fix btn-group style in form-item

Please makes sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's Contributing Guide.
[ ] Make sure you are merging your commits to dev branch.
[ ] Rebase before creating a PR to keep commit history clear.
[ ] Add some descriptions and refer relative issues for you PR.

#1370


Default git credentials setup

The Dockerfiles and images generated with this for the ocaml/opam images set up default git credentials:
https://github.com/avsm/ocaml-dockerfile/blob/f184554282a3836bf3f1c34d20e77d0530f8349d/src-opam/dockerfile_linux.ml#L24-L28
Why is this done/desirable?
This creates /home/opam/.gitconfig, which prevents the ocaml/opam images from being used out-of-the-box as devcontainers, because apparently the presence of this file prevents the automatic use of outside git credentials: https://code.visualstudio.com/docs/remote/containers#_sharing-git-credentials-with-your-container.
Thus as a devcontainer base image, inside the container you'd be accidentally committing everything as Docker<EMAIL_ADDRESS>without realizing that the usual mechanism of it using outside git credentials hasn't worked. Then one has to rewrite git history to fix the author information of such commits.
Moreover, even without using as part as devcontainer, but for other purposes of doing git commits inside such containers will use those default credentials instead of giving the usual prompt of asking the user to set them up, because they've already been set up by the base image.
Currently I have to work around this by using RUN rm ~/.gitconfig as an extra step on top of these base images. It isn't much, but I fail to see why I'd ever want to commit as some weird default user I haven't explicitly set up myself.

The ocaml/opam images on Docker Hub are primarily intended to support CI systems (in particular, opam-repo-ci for ocaml/opam-repository and the ocaml-ci GitHub App). opam, when using Git remotes, expects git to have been configured and opam-repo-ci in particular generates merge commits - git-commit doesn't work if you haven't specified user.email and user.name.
We may have a look in the coming months at tweaking these images to be slightly more appropriate for general use (at least the "generic" ocaml/opam images)

I'd prefer to just generate an explicit devcontainer image rather than try to squeeze the CI images and the devcontainers images together. @sim62 -- do you have anything else you need in the devcontainer image aside from the git setup?

There is another annoyance, but I'm not sure if there's any good solution for it because it's kind of cyclic.
When using an image with just opam (without any OCaml version switch) and creating a local switch (e.g. using a lock file) inside the devcontainer, then if VSCode starts and attaches to the container, it won't have the desired environment from eval $(opam env). VSCode's in-container adapter-thingy will start before it can run such command to update the environment in which it should run itself and run all of its processes (integrated terminals, LSP, etc).
In my current attempt I took the output of opam env and hardcoded it into a .env file to pass use with the --env-file Docker argument. It's kind of backwards because even on the first run, that hardcoded initial environment already has the paths that the local opam switch is intended to be created.
(Also, I couldn't find anything about doing a similar environment activation with e.g. Python's venv or conda for devcontainers. Maybe the intent is simply that the devcontainer itself is isolated enough that such local switches shouldn't be necessary and polluting a global one is fine.)
I can't say this is the fault of the opam Docker images, but rather the VSCode devcontainer system (if there even is anything that could be done differently on that side). But overall, this somewhat reduces the usefulness and convenience of having a devcontainer which comes perfectly set up for development.

@sim642 I've been adding a 'devcontainer OCaml feature' which composes with the upstream VSCode features. You can find one use of this in https://github.com/realworldocaml/book/blob/master/.devcontainer/devcontainer.json and the associated feature Debs are created in https://github.com/avsm/ocaml-devcontainers
I'll move to close this issue once I publish a post on how to use the VSCode devcontainers feature properly. It's currently being "stress tested" by a number of my undergraduate students.


Version 0.6.0 not aviable on plugins.gradle.org

I tried to upgrade to version 0.6.0 which should be compatible with gradle 5.x but failed. Is there another maven repository where I can download the plugin?
Steps to reproduce
mkdir test

cd test

gradle wrapper

echo 'plugins {
    id "com.github.ksoichrio.console.reporter" version "0.6.0"
}
' > build.gradle

./gradlew test

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/emundo/Documents/Projekt/BMW/PPT/Code/test/build.gradle' line: 2

* What went wrong:
Plugin [id: 'com.github.ksoichrio.console.reporter', version: '0.6.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.github.ksoichrio.console.reporter:com.github.ksoichrio.console.reporter.gradle.plugin:0.6.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository

* 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

I've already published.
https://plugins.gradle.org/plugin/com.github.ksoichiro.console.reporter
Maybe it's because your spelling is wrong.
ksoichrio should be ksoichiro.
Please copy and paste this:
plugins {
  id "com.github.ksoichiro.console.reporter" version "0.6.0"
}

I can second that. The spelling is correct, but i does not work. 0.5.0 works just fine

The typo is correct, but with the correct ID it does not work either. I see it published on the website but I am not able to download it. Thank you for your reply!

It looks like it's not published correctly, if you click on any link on this page https://plugins.gradle.org/m2/gradle/plugin/com/github/ksoichiro/gradle-console-reporter/0.6.0/ they redirect to an error page saying specified key doesn't exist.
https://plugins.gradle.org/m2/gradle/plugin/com/github/ksoichiro/gradle-console-reporter/0.5.0/ just works fine.

@yq314 Thanks, I confirmed it.
@simonnagl @mneundorfer Sorry that I didn't understand the situation.
I'll retry publishing it later.

I've just released v0.6.2.
Maybe you can use it now.
(v0.6.0 has been already published and couldn't be overridden.
I tried again as v0.6.1, which was the same result.)
Then I updated the Gradle publish plugin and it seems to be successfully uploaded.
Maybe the publish plugin was too old.

version 0.6.2 can be downloaded. Thank you!


spark2|3: add exporter for history servers

Which issue(s) this PR fixes

Fixes #530
Additional comments

Agreements

[X] I hereby declare this contribution to be licensed under the Apache License Version 2.0, January 2004.
[X] I hereby agree to grant TOSIT a copyright license to use my contributions.

dag update: in progress


Is this repo dead? Shall we fork?

Hi there,
I've been fixing major issue on ep_tables2, but getting here for making a PR show me that there is no activity since 3 years.
@quenenni do you want to keep maintaining this repo, or shall we make a fork? maybe a living fork already exists?
@ilmartyrk, @cxcv, @joker-x, @mitar, have you heard about something?
This plugin seems quite useful for me, I'll be okay to maintain it a bit
See you !

Maybe adding a new person as admin is better (then they can add any future collaborators as well).
Would love to have this be kept updated, but I sadly don't have any time to do so.

Hi ! Thanks for you quick reply !
It's better to avoid fork, so we don't loose the current issues and pull requests
So either
1- set me as admin for this repo
2- Transfer ownership (settings, at the bottom in "danger zone")
Option 2 is probably better, WDYT?

I just tried option 2, but an error occurred:
"seballot/ep_tables2 already exists "
Did you already forked the project?
If yes, and if you didn't already make changes, can you delete it.

Done.
It's very nice someone is taken the torch. Thanks.
Have fun with it.

Thank you !


CommonJS directory import fails

Acknowledgements

[X] I read the documentation and searched existing issues to avoid duplicates
[X] I am reporting a confirmed bug (not seek debugging help)
[X] I understand this is a collaborative project and relies on my contributions
[X] I read and understood the Contribution guide

Minimal reproduction URL
https://github.com/marvson/tsx-reproduction
Problem & expected behavior (under 200 words)
But if you really need to explain, keep it under 200 words:

What happened
After updating to 4.13.0, the reproduction fails, it works fine on 4.12.1.

Bugs are expected to be fixed by those affected by it

[X] I'm interested in working on this issue

Compensating engineering work financially will speed up resolution

[ ] I'm willing to offer financial support

:tada: This issue has been resolved in v4.13.3
If you appreciate this project, please consider supporting this project by sponsoring :heart: :pray:


neovim-nightly: Fix checkver

Fix checkver to get new version format.
PS. The Scoop repository has the latest version v0.10.0-dev-1055-gb7734c4ec,
while the Neovim repository has the latest version of v0.10.0-dev-1f551e0 (2023-09-13):

Relates to these issues, such as #1361, #1362, #1363, #1365, etc.

[x] I have read the Contributing Guide.

/verify

/verify
force push to resolve merge conflicts

Closed. Because the original issue has been addressed via merged PR #1429.


The order of Git Menu items

Issue Type: Bug
Hi there
The location of "Drop stash" in the menu is not good, especially it looks like "Pop stash" and easily you migth click on the wrong menu, and there is no confirmation,
By mistake I droped a big stash, although I recovered it!
VS Code version: Code 1.47.3 (91899dcef7b8110878ea59626991a18c8a6a1b3e, 2020-07-23T13:08:29.692Z)
OS version: Darwin x64 19.5.0

Git menus are about to get cleaned up this week, according to the plan. Closing as duplicate.

@joaomoreno My vscode is updated for Git Menu, but my concern is still not resolved, Drop and Pop look like the same, and since there is no confirm dialog for Drop stash you can easily make mistake


Automatic maximum resolution

HI everyone,
i'm using PoliDown and it's amazing! However i noticed that it ask for every video the resolution at witch it has to be download. It is possible to implement something that automatically select the best available resolution? In that way it will be possible to add a long list of video without being in front of pc and let downloads run during night.
Thanks a lot for that tool
Bye

Hi,
you can use the -q flag in order to define the quality.
For example, -q 5 will download the videos at the maximum resolution available.


fix: sanitize <owner>/.github style branch names

Hello 👋
Thank you for this lovely action 🚀
When GITHUB_REPOSITORY is in the style of .github an invalid branch name is created (. can't come directly after /).
This PR fixes that issue

Thanks!

:tada: This PR is included in version 1.17.14 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Rework make format to use targets and recipes instead of deferring to the shell

This would allow make -j to be useful when running make format, which it currently has no effect on due to the current recipe form deferring the work to the shell.
It should be noted that passing a large number of files at once to clang-format sometimes causes it to hang. Best pass it one file at a time, but ideally we could have make do the thinking about that. It’s something to experiment with.

Upon further consideration, this is not likely feasible due to the recipe-based nature of make. I cannot think of a good way to have make always ignore the notion of files being up to date, considering the fact that this recipe wishes to act but builds nothing.
It’s not a huge deal. Perhaps it is worth exploring parallelising this in a POSIX shell script and calling into that when make format is run.


Make MapFieldNames public (#2118)

Which issue does this PR close?
Closes #2118
Rationale for this change

See ticket
What changes are included in this PR?

Make MapFieldNames public so MapBuilder can be used
Are there any user-facing changes?
No

If this is a regression since 18.0.0 I think we should merge it and cut a new release candidate for 19.0.0 (and avoid releasing the regression)


Error selecting Blob column

I am getting an error using db.select
It seem like it tries to open the  blob column as a Text
sqlcipher_flutter_libs: ^0.6.2
Ubuntu 22.04
ex: "SELECT blobColumn FROM data ;"
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FormatException: Invalid UTF-8 byte (at offset 0)
#0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1741:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:349:37)
#2      Utf8Codec.decode (dart:convert/utf.dart:63:20)
#3      Utf8Utils.readString (package:sqlite3/src/ffi/memory.dart:59:17)
#4      FfiStatement.sqlite3_column_text (package:sqlite3/src/ffi/bindings.dart:460:54)
#5      StatementImplementation._readValue (package:sqlite3/src/implementation/statement.dart:175:26)
#6      StatementImplementation._selectResults (package:sqlite3/src/implementation/statement.dart:139:64)
#7      StatementImplementation.selectWith (package:sqlite3/src/implementation/statement.dart:296:12)
#8      CommonPreparedStatement.select (package:sqlite3/src/statement.dart:71:12)
#9      DatabaseImplementation.select (package:sqlite3/src/implementation/database.dart:389:19)

Can you post a full sample I could run (e.g. something that creates the table, inserts the blob and then tries to select which fails)? We have tests for this package and they are reading from blobs just fine, so I assume there's something weird going on with the database where a blob column is reported as text by sqlite3. I need more information to reproduce this problem.

Thank you for your quick reply.
You’re right! It seems my database might be corrupt or malfunctioning. I removed some records in preparation for posting it here, but I was unable to reproduce the issue with that modified database.
Thank you for pointing me in the right direction.


Fatal errors occur when running EXE file which build from vedo

#error1:  no moudle named  vtkmodules.all
error2:  can not found the font files
I have made some modifications, please review and edit
you need update readme file also I think
#682

#error1: no moudle named vtkmodules.all
error2: can not found the font files
I have made some modifications, please review and edit
you need update readme file also I think

thanks, this looks ok to me, we should maybe drop all import vtk in submodules, but this might be done later i guess..

sounds good! I am looking forward to your new release


Scrape more ECMAScript specifications

We currently only get to know about new ECMAScript builtins when they appear in the main ECMAScript spec. We also need to take into account Intl, proposals, and more.
The web-specs package can be helpful to find all of them:
const tc39specs = [
  ...web-specs
    .filter((spec) => spec.standing == 'good' && spec.url.includes('tc39'))
    .map((spec) => spec.url),
];
console.log(tc39specs);

Currently outputs:
[
  'https://tc39.es/ecma262/multipage/',
  'https://tc39.es/ecma402/',
  'https://tc39.es/proposal-array-from-async/',
  'https://tc39.es/proposal-array-grouping/',
  'https://tc39.es/proposal-arraybuffer-transfer/',
  'https://tc39.es/proposal-async-explicit-resource-management/',
  'https://tc39.es/proposal-decorators/',
  'https://tc39.es/proposal-explicit-resource-management/',
  'https://tc39.es/proposal-float16array/',
  'https://tc39.es/proposal-import-attributes/',
  'https://tc39.es/proposal-intl-duration-format/',
  'https://tc39.es/proposal-intl-locale-info/',
  'https://tc39.es/proposal-iterator-helpers/',
  'https://tc39.es/proposal-json-modules/',
  'https://tc39.es/proposal-json-parse-with-source/',
  'https://tc39.es/proposal-promise-with-resolvers/',
  'https://tc39.es/proposal-regexp-modifiers/',
  'https://tc39.es/proposal-set-methods/',
  'https://tc39.es/proposal-shadowrealm/',
  'https://tc39.es/proposal-source-phase-imports/',
  'https://tc39.es/proposal-temporal/',
  'https://tc39.es/source-map-spec/'
]

@Josh-Cena, would you have any interest in implementing this upstream in the es-scraper package?

Yes, I'll try

Different formats can definitely be annoying -- I see that one of them even uses an API spec format (https://tc39.es/source-map-spec/)!
Thank you very much, though, @Josh-Cena!  Let us know if we can help out, I'd be more than happy to submit PRs to assist with this!

Thanks sooo much @Josh-Cena!
My list above might be a bit verbose. For the moment, we are really only interested in specs that add additional builtins.

FWIW, I also manually manage a list of stage-3 specs: https://github.com/jc-verse/mdn-checker/blob/master/packages/mdn-checker/src/data/stage-3.ts