P4 64x32 matrix chain 2x2 problem

Hello.
I am successfully using the p4 electronic display board using your project. The p4 indoor type was successful, but the outdoor type was not working well...
i try to single panel. it work.
Outdoor P4-1921-64x32-8s-s1
Esp32-WROOM-32UE
Now I've connected a total of four panels and tried it in a 2x2 shape. Among the connected panels, the top two panels are output normally, but the bottom panel is not output normally.

I've referred to the following post for improvement. It has fixed the header file and checked the output as follows.
https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA/issues/578#issue-2106096259

When I checked the output, it was determined that the order of output was mixed as shown in the image below.

The panels were divided into quarters and numbered for each part.

I changed the position to draw the output I wanted. If so, it will be placed like this.
I need to correct this part, but I didn't know what to do...
Here is my Code
#include <Arduino.h>
#include <Adafruit_GFX.h>
#include "ESP32-VirtualMatrixPanel-I2S-DMA.h"
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#include <Fonts/GodoM6pt8b.h>

#define PANEL_RES_X 64
#define PANEL_RES_Y 32

#define NUM_ROWS 2
#define NUM_COLS 2
#define PANEL_CHAIN (NUM_ROWS * NUM_COLS)
#define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_TOP_RIGHT_DOWN

MatrixPanel_I2S_DMA *dma_display = nullptr;
VirtualMatrixPanel *virtualDisp = nullptr;

void drawText(int x, int y, const char *text, uint16_t textColor) {
  virtualDisp->setTextColor(textColor);
  virtualDisp->setCursor(x, y);
  virtualDisp->print(text);
}

void drawTextWithBackground(int x, int y, const char *text, uint16_t textColor) {
  virtualDisp->setTextColor(textColor);
  virtualDisp->setTextSize(3);
  virtualDisp->setCursor(x, y);
  virtualDisp->print(text);
}
void setup() {
  Serial.begin(115200);
  HUB75_I2S_CFG mxconfig(
    PANEL_RES_X * 2,
    PANEL_RES_Y / 2,
    PANEL_CHAIN
  );
  mxconfig.clkphase = false;
  mxconfig.i2sspeed = HUB75_I2S_CFG::HZ_20M;

  dma_display = new MatrixPanel_I2S_DMA(mxconfig);

  if (!dma_display->begin()) {
    Serial.println("****** !KABOOM! I2S memory allocation failed ***********");
    return;
  }
  dma_display->setBrightness8(30);

  virtualDisp = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y, VIRTUAL_MATRIX_CHAIN_TYPE);
  virtualDisp->setPhysicalPanelScanRate(FOUR_SCAN_32PX_HIGH);

}

void loop() {
  virtualDisp->drawRect(1, 1, virtualDisp->width() - 2, virtualDisp->height() - 2, virtualDisp->color565(255, 0, 0));
  virtualDisp->drawLine(0, 0, virtualDisp->width() - 1, virtualDisp->height() - 1, virtualDisp->color565(255, 255, 255));
  delay(2000);

  drawTextWithBackground(0, virtualDisp->height() / 2 - 8, "    hi", virtualDisp->color565(0, 0, 255));
  delay(10000);

  dma_display->clearScreen();
}

And part of the changed header file code.
if (panel_scan_rate == FOUR_SCAN_32PX_HIGH)
    {

        /* Convert Real World 'VirtualMatrixPanel' co-ordinates (i.e. Real World pixel you're looking at
           on the panel or chain of panels, per the chaining configuration) to a 1/8 panels
           double 'stretched' and 'squished' coordinates which is what needs to be sent from the
           DMA buffer.

           Note: Look at the FourScanPanel example code and you'll see that the DMA buffer is setup
           as if the panel is 2 * W and 0.5 * H !
        */
        if ((virt_y & 8) == 0)
            {
                coords.x += ((coords.x / panelResX) + 1) * panelResX; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
            }
        else
        {
            coords.x += (coords.x / panelResX) * panelResX; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }

        // http://cpp.sh/4ak5u
        // Real number of DMA y rows is half reality
        // coords.y = (y / 16)*8 + (y & 0b00000111);
        //
        coords.y = (coords.y >> 4) * 8 + (coords.y & 0b00000111);

    }

try to change it that way:
if (panel_scan_rate == FOUR_SCAN_32PX_HIGH)
    {

        /* Convert Real World 'VirtualMatrixPanel' co-ordinates (i.e. Real World pixel you're looking at
           on the panel or chain of panels, per the chaining configuration) to a 1/8 panels
           double 'stretched' and 'squished' coordinates which is what needs to be sent from the
           DMA buffer.

           Note: Look at the FourScanPanel example code and you'll see that the DMA buffer is setup
           as if the panel is 2 * W and 0.5 * H !
        */

        // http://cpp.sh/4ak5u
        // Real number of DMA y rows is half reality
        // coords.y = (y / 16)*8 + (y & 0b00000111);
        //
        coords.y = (coords.y >> 4) * 8 + (coords.y & 0b00000111);

        if ((virt_y & 8) == 0)
            {
                coords.x += ((coords.x / panelResX) + 1) * panelResX; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
            }
        else
        {
            coords.x += (coords.x / panelResX) * panelResX; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }

   }

@board707 I tried the method you suggested.
However, it appears to be nothing more than a change in the location of the code. The output is the same as before...

Yes, I forget to change the condition:
if (panel_scan_rate == FOUR_SCAN_32PX_HIGH)
    {

        /* Convert Real World 'VirtualMatrixPanel' co-ordinates (i.e. Real World pixel you're looking at
           on the panel or chain of panels, per the chaining configuration) to a 1/8 panels
           double 'stretched' and 'squished' coordinates which is what needs to be sent from the
           DMA buffer.

           Note: Look at the FourScanPanel example code and you'll see that the DMA buffer is setup
           as if the panel is 2 * W and 0.5 * H !
        */

        // http://cpp.sh/4ak5u
        // Real number of DMA y rows is half reality
        // coords.y = (y / 16)*8 + (y & 0b00000111);
        //
        coords.y = (coords.y >> 4) * 8 + (coords.y & 0b00000111);

        if ((coords.y & 8) == 0)
            {
                coords.x += ((coords.x / panelResX) + 1) * panelResX; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
            }
        else
        {
            coords.x += (coords.x / panelResX) * panelResX; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }

   }

I apologize for forcing you to test many options. Unfortunately, this can only be checked on your matrices.
This should work:
f (panel_scan_rate == FOUR_SCAN_32PX_HIGH)
    {

        /* Convert Real World 'VirtualMatrixPanel' co-ordinates (i.e. Real World pixel you're looking at
           on the panel or chain of panels, per the chaining configuration) to a 1/8 panels
           double 'stretched' and 'squished' coordinates which is what needs to be sent from the
           DMA buffer.

           Note: Look at the FourScanPanel example code and you'll see that the DMA buffer is setup
           as if the panel is 2 * W and 0.5 * H !
        */
        if (( coords.y  & 8) == 0)
            {
                coords.x += ((coords.x / panelResX) + 1) * panelResX; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
            }
        else
        {
            coords.x += (coords.x / panelResX) * panelResX; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }

        // http://cpp.sh/4ak5u
        // Real number of DMA y rows is half reality
        // coords.y = (y / 16)*8 + (y & 0b00000111);
        //
        coords.y = (coords.y >> 4) * 8 + (coords.y & 0b00000111);

    }

Thank you for your help, but unfortunately the problem isn't being solved... I try to find many ways, but it's not easy..

if (( coords.y  & 8) == 0)

I didn't think this would be a problem. Thanks to you, I solved it!

This picture shows an display that is successfully printed.
2X2 result

3x3 result

@ki865564
It's strange why the 2x2 image looks fine, but the 3x3 has artifacts.
In the lower picture, is every 6-8th line really not lit or is it just a photo strobe effect?

Can you share the working code for 2x2?

@ogul
To chaining standard panels you don't need any specific code, the library should works fine with 2x2 and 3x3 and any others
If you have a non-standard panels - the code for each type of them will be different one from another, so others code doesn't help you.
So the fisrst question - what the panels you have?

Hi.
I have a problem with 64x32px panels. After connecting them in a 2x2 matrix, they work as shown in the picture. My panels have only 3 address lines A, B and C. The connection is zigzag. Please help.

My code
`#include <Arduino.h>
#include <Adafruit_GFX.h>
#include "ESP32-VirtualMatrixPanel-I2S-DMA.h"
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#define PANEL_RES_X 64
#define PANEL_RES_Y 32
#define NUM_ROWS 2
#define NUM_COLS 2
#define PANEL_CHAIN (NUM_ROWS * NUM_COLS)
#define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_BOTTOM_RIGHT_UP_ZZ
MatrixPanel_I2S_DMA *dma_display = nullptr;
VirtualMatrixPanel *virtualDisp = nullptr;
void drawText(int x, int y, const char *text, uint16_t textColor) {
virtualDisp->setTextColor(textColor);
virtualDisp->setCursor(x, y);
virtualDisp->print(text);
}
void drawTextWithBackground(int x, int y, const char *text, uint16_t textColor) {
virtualDisp->setTextColor(textColor);
virtualDisp->setTextSize(3);
virtualDisp->setCursor(x, y);
virtualDisp->print(text);
}
void setup() {
Serial.begin(115200);
HUB75_I2S_CFG mxconfig(
PANEL_RES_X * 2,
PANEL_RES_Y / 2,
PANEL_CHAIN
);
mxconfig.clkphase = false;
mxconfig.i2sspeed = HUB75_I2S_CFG::HZ_20M;
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
if (!dma_display->begin()) {
Serial.println("****** !KABOOM! I2S memory allocation failed ***********");
return;
}
dma_display->setBrightness8(30);
virtualDisp = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y, VIRTUAL_MATRIX_CHAIN_TYPE);
virtualDisp->setPhysicalPanelScanRate(FOUR_SCAN_32PX_HIGH);
}
void loop() {
virtualDisp->drawRect(1, 1, virtualDisp->width() - 2, virtualDisp->height() - 2, virtualDisp->color565(255, 0, 0));
virtualDisp->drawLine(0, 0, virtualDisp->width() - 1, virtualDisp->height() - 1, virtualDisp->color565(255, 255, 255));
delay(2000);
drawTextWithBackground(0, virtualDisp->height() / 2 - 8, "    hi", virtualDisp->color565(0, 0, 255));
delay(10000);
dma_display->clearScreen();
}
`

@slawek19926
Do you test a single panel?

@board707
This is how I tested for one panel.
The 32x32 cols 2 setting worked. The problem is that then during the test it displays “panel 1” “panel 2” even though 1 panel is physically connected.

Sorry, I don't understand. What is the panel pixel dimensions - 64x32? Or 32x32?
Did you test a single panel? Could you show a picture of single panel test?
BTW - why did you posted this to the old thread? Open a new one.

@slawek19926
Please show a clear photo of the panel rear side.
Please find the three types of chips on the back of the panel and rewrite their designations.

@slawek19926
Ok, if you don't want to open a separate thread, I'll keep it short.
First - your panel has 8 scans, so it is perfectly normal that it has only A, B and C lines
Second - the drivers on the panel are compatible with the current library code and doesn't need any specific settings.
The only problem is a pixel pattern.
Please test a single panel with Virtual panel example and show the video, as it done, for example< in issue #637

@board707
This is what the test you asked for looks like.
https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA/assets/6081345/4eeef363-8f20-4ca1-b135-3fdbd92c3c20

This code takes care of the issue of displaying pixels, but for that there is now a problem when connecting a 2x2 matrix.
Only the top half is always filled.
int16_t myPanel = panelResX / 2;         if ((virt_y & 8) == 0)         {             coords.x += ((coords.x / myPanel) + 1) * myPanel; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer         }         else         {             coords.x += (coords.x / myPanel) * myPanel; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer         }
The red line is how to connect

This code takes care of the issue of displaying pixels, but for that there is now a problem when connecting a 2x2 matrix.

While you configure the correct display of points on one panel, the connection of several panels will configure itself.
Please show the code that you used when generate the last video.

I'm using this code
`#include "ESP32-HUB75-MatrixPanel-I2S-DMA.h"
#include "ESP32-VirtualMatrixPanel-I2S-DMA.h"
// Panel configuration
#define PANEL_RES_X 64// Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 32 // Number of pixels tall of each INDIVIDUAL panel module.
#define NUM_ROWS 1 // Number of rows of chained INDIVIDUAL PANELS
#define NUM_COLS 1 // Number of INDIVIDUAL PANELS per ROW
#define SERPENT true
#define TOPDOWN false
// placeholder for the matrix object
MatrixPanel_I2S_DMA *dma_display = nullptr;
// placeholder for the virtual display object
VirtualMatrixPanel *FourScanPanel = nullptr;
void setup() {
delay(250);
Serial.begin(115200);
Serial.println(""); Serial.println(""); Serial.println("");
Serial.println("");
Serial.println("*         1/8 Scan Panel Demonstration              *");
Serial.println("");
HUB75_I2S_CFG mxconfig(
PANEL_RES_X*2, // DO NOT CHANGE THIS
PANEL_RES_Y/2, // DO NOT CHANGE THIS
NUM_ROWS * NUM_COLS // DO NOT CHANGE THIS
);
mxconfig.clkphase = false; // Change this if you see pixels showing up shifted wrongly by one column the left or right.
//mxconfig.driver = HUB75_I2S_CFG::FM6126A; // in case that we use panels based on FM6126A chip, we can set it here before creating MatrixPanel_I2S_DMA object
// Create our matrix object
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
// Adjust default brightness to about 75%
dma_display->setBrightness8(96); // range is 0-255, 0 - 0%, 255 - 100%
// Allocate memory and start DMA display
if (!dma_display->begin())
Serial.println("****** !KABOOM! I2S memory allocation failed ***********");
dma_display->clearScreen();
delay(500);
// Create FourScanPanel object based on our newly created dma_display object
FourScanPanel = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y);
// THE IMPORTANT BIT BELOW!
FourScanPanel->setPhysicalPanelScanRate(FOUR_SCAN_16PX_HIGH);
}
void loop() {
for (int i = 0; i < FourScanPanel->height(); i++)
{
for (int j = 0; j < FourScanPanel->width(); j++)
{
FourScanPanel->drawPixel(j, i, FourScanPanel->color565(255, 0, 0));
delay(30);
}
}
delay(2000);
dma_display->clearScreen();
} // end loop`

This line is incorrect:
FourScanPanel->setPhysicalPanelScanRate(FOUR_SCAN_16PX_HIGH);

Your panel is 64x32, so you need to use FOUR_SCAN_32PX_HIGH scanrate. Edit the line this way:
FourScanPanel->setPhysicalPanelScanRate(FOUR_SCAN_32PX_HIGH);

I'm sorry I made a mistake. I was using FourScanPanel->setPhysicalPanelScanRate(FOUR_SCAN_32PX_HIGH);

Are you sure that you made the mistake when showing the code, but not when uploading it?  The residual code looks correct for me.

Yes. I checked several times and it was on this code that I made my library fix. Do you happen to have Discord? It will be easier and faster for us to talk that way.

I made my library fix.

Did you use your revised library when run the test? - if so, please return to standard code and test again.

When recording the video, I used the original freshly downloaded library version 3.0.10

Ok, I watched your video again - now on the big screen and I think everything is fine there. Two facts initially confused me - the fact that you are testing the code on a screen of several panels and the fact that you shot the video carelessly - part of the panel on the right is covered by some kind of shadow.

I can do it, but only tomorrow because today is quite late. As for the shadow it's a few pixels behind the monitor. Anyway, my fix solved the subject of setting pixels on the matrix. Now the only problem I have is that with a 2x2 matrix and the connection as in the picture I attached earlier, the lower half of the matrix does not work.

my fix solved the subject of setting pixels on the matrix. Now the only problem I have is that with a 2x2 matrix

This most likely means that your fix is only partial - for example it only works for one row of panels.
I'm approaching this problem from a different angle - If we find the right coordinate transformation for a single matrix, it will works for any combination of multiple panels.
I not consider it useful to solve separately the problem of connecting 2x2 matrices.

If you wish to continue, tomorrow test the code below and show the video.
/* Use a custom Virtual Display class to re-map co-ordinates
*/
#include "ESP32-VirtualMatrixPanel-I2S-DMA.h"

/* ================================================== */
// Define custom class derived from VirtualMatrixPanel
class EightPxBasePanel : public VirtualMatrixPanel
{
  public:
    using VirtualMatrixPanel::VirtualMatrixPanel; // inherit VirtualMatrixPanel's constructor(s)

  protected:

    VirtualCoords getCoords(int16_t x, int16_t y);  // custom getCoords() method for specific pixel mapping

};

inline VirtualCoords EightPxBasePanel ::getCoords(int16_t x, int16_t y) {

  coords = VirtualMatrixPanel::getCoords(x, y); // first call base class method to update coords for chaining approach

  if ( coords.x == -1 || coords.y == -1 ) { // Co-ordinates go from 0 to X-1 remember! width() and height() are out of range!
    return coords;
  }
  const uint8_t pixBase =32;
  if ((coords.y  & 8) == 0)
        {
            coords.x += ((coords.x / pixBase) + 1) * pixBase; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }
        else
        {
            coords.x += (coords.x / pixBase) * pixBase; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
        }

        coords.y = (coords.y  >> 4) * 8 + (coords.y  & 0b00000111);
        return coords;
}

/* ================================================== */
// Panel configuration
#define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 32 // Number of pixels tall of each INDIVIDUAL panel module.

#define NUM_ROWS 1 // Number of rows of chained INDIVIDUAL PANELS
#define NUM_COLS 1 // Number of INDIVIDUAL PANELS per ROW

// ^^^ NOTE: DEFAULT EXAMPLE SETUP IS FOR A CHAIN OF TWO x 1/8 SCAN PANELS

// Change this to your needs, for details on VirtualPanel pls read the PDF!
#define SERPENT true
#define TOPDOWN false
#define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_TOP_RIGHT_DOWN

// placeholder for the matrix object
MatrixPanel_I2S_DMA *dma_display = nullptr;

// placeholder for the virtual display object
EightPxBasePanel   *FourScanPanel = nullptr;

/******************************************************************************
   Setup!
 ******************************************************************************/
void setup()
{
  delay(250);

  Serial.begin(115200);
  Serial.println(""); Serial.println(""); Serial.println("");
  Serial.println("*****************************************************");
  Serial.println("*         1/8 Scan Panel Demonstration              *");
  Serial.println("*****************************************************");

  /*
       // 62x32 1/8 Scan Panels don't have a D and E pin!

       HUB75_I2S_CFG::i2s_pins _pins = {
        R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN,
        A_PIN, B_PIN, C_PIN, D_PIN, E_PIN,
        LAT_PIN, OE_PIN, CLK_PIN
       };
  */
  HUB75_I2S_CFG mxconfig(
    PANEL_RES_X * 2,            // DO NOT CHANGE THIS
    PANEL_RES_Y / 2,            // DO NOT CHANGE THIS
    NUM_ROWS * NUM_COLS         // DO NOT CHANGE THIS
    //,_pins            // Uncomment to enable custom pins
  );

  mxconfig.clkphase = false; // Change this if you see pixels showing up shifted wrongly by one column the left or right.

  //mxconfig.driver   = HUB75_I2S_CFG::FM6126A;     // in case that we use panels based on FM6126A chip, we can set it here before creating MatrixPanel_I2S_DMA object

  // OK, now we can create our matrix object
  dma_display = new MatrixPanel_I2S_DMA(mxconfig);

  // let's adjust default brightness to about 75%
  dma_display->setBrightness8(40);    // range is 0-255, 0 - 0%, 255 - 100%

  // Allocate memory and start DMA display
  if ( not dma_display->begin() )
    Serial.println("****** !KABOOM! I2S memory allocation failed ***********");

  dma_display->clearScreen();
  delay(500);

  // create FourScanPanellay object based on our newly created dma_display object
  FourScanPanel = new EightPxBasePanel ((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y,    VIRTUAL_MATRIX_CHAIN_TYPE);

  // THE IMPORTANT BIT BELOW!
  // FOUR_SCAN_16PX_HIGH
  // FOUR_SCAN_32PX_HIGH
// **** You don't need to set PhysicalPanelScanRate when use your own virtual panel class
  //FourScanPanel->setPhysicalPanelScanRate(FOUR_SCAN_16PX_HIGH);
}

// Test the pixel mapping - fill the panel pixel by pixel
void loop() {

  for (int i = 0; i < FourScanPanel->height(); i++)
  {
    for (int j = 0; j < FourScanPanel->width(); j++)
    {

      FourScanPanel->drawPixel(j, i, FourScanPanel->color565(255, 0, 0));
      delay(30);
    }
  }

  delay(2000);
  dma_display->clearScreen();

} // end loop

Ok. Tomorrow I will isolate 1 panel, upload the code and send a video of how it works

As for displaying single lines, the code works great, while there is still a problem when connecting a 2x2 matrix

I'm not going to impose my help. If you think the code works, I won't argue. Good luck.

No need to be offended. I appreciate your help. I didn't take a video of how the pixels are displayed because they started displaying from point 0,0 in sequence until the end of the panel. Since I noticed that your way works I started to go further because I thought that the problem with the single panel was solved, but as it turns out, however, not.

@ki865564 It's strange why the 2x2 image looks fine, but the 3x3 has artifacts. In the lower picture, is every 6-8th line really not lit or is it just a photo strobe effect?

it just photo strobe effect! sorry for the late reply

As for displaying single lines, the code works great, while there is still a problem when connecting a 2x2 matrix

What about the picture, better, the video?

t just photo strobe effect!

Thank you for clarification.

Here is the final code I used.

library used 3.0.7 ver.
The modifications within the library are as follows.

if (panel_scan_rate == FOUR_SCAN_32PX_HIGH)
{
    if ((coords.y & 8) == 0)
    {
        coords.x += ((coords.x / panelResX) + 1) * panelResX; // 1st, 3rd 'block' of 8 rows of pixels, offset by panel width in DMA buffer
    }
    else
    {
        coords.x += (coords.x / panelResX) * panelResX; // 2nd, 4th 'block' of 8 rows of pixels, offset by panel width in DMA buffer
    }

    // Real number of DMA y rows is half reality
    // coords.y = (y / 16)*8 + (y & 0b00000111);
    //
    coords.y = (coords.y >> 4) * 8 + (coords.y & 0b00000111);
}

The final code used is as follows.

#include <Arduino.h>
#include <Adafruit_GFX.h>
#include "ESP32-VirtualMatrixPanel-I2S-DMA.h"
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>

// Define panel resolution
#define PANEL_RES_X 64
#define PANEL_RES_Y 32

// Define the number of rows and columns in the panel matrix
#define NUM_ROWS 3
#define NUM_COLS 3
#define PANEL_CHAIN (NUM_ROWS * NUM_COLS)

// Define the virtual matrix chain type
#define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_TOP_RIGHT_DOWN

// Declare pointers for DMA display and virtual display
MatrixPanel_I2S_DMA *dma_display = nullptr;
VirtualMatrixPanel *virtualDisp = nullptr;

// Function to draw text with background
void drawTextWithBackground(int x, int y, const char *text, uint16_t textColor) {
  virtualDisp->setTextColor(textColor);
  virtualDisp->setTextSize(3);
  virtualDisp->setCursor(x, y);
  virtualDisp->print(text);
}

void setup() {
  Serial.begin(115200);

  // Initialize HUB75 configuration with panel dimensions and chain settings
  HUB75_I2S_CFG mxconfig(
    PANEL_RES_X * 2,
    PANEL_RES_Y / 2,
    PANEL_CHAIN);

  mxconfig.clkphase = false;
  mxconfig.i2sspeed = HUB75_I2S_CFG::HZ_20M;

  // Initialize DMA display
  dma_display = new MatrixPanel_I2S_DMA(mxconfig);

  // Check if DMA display began successfully
  if (!dma_display->begin()) {
    Serial.println("****** !KABOOM! I2S memory allocation failed ***********");
    return;
  }
  dma_display->setBrightness8(192);

  // Initialize virtual display with the DMA display and panel settings
  virtualDisp = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y, VIRTUAL_MATRIX_CHAIN_TYPE);
  virtualDisp->setPhysicalPanelScanRate(FOUR_SCAN_32PX_HIGH);
}

void loop() {
  // Define the height of each section of the display
  int sectionHeight = virtualDisp->height() / 4;

  // Draw a rectangle around the display edges
  virtualDisp->drawRect(1, 1, virtualDisp->width() - 2, virtualDisp->height() - 2, virtualDisp->color565(255, 0, 0));

  // Draw a diagonal line across the display
  virtualDisp->drawLine(0, 0, virtualDisp->width() - 1, virtualDisp->height() - 1, virtualDisp->color565(255, 255, 255));
  delay(2000);

  // Draw text in the middle of the display
  drawTextWithBackground(0, virtualDisp->height() / 2 - 8, "    hi", virtualDisp->color565(0, 0, 255));
  delay(10000);

  // Clear the screen
  dma_display->clearScreen();
}

I modified the file at the following location for pin modification.
...\Arduino\libraries\ESP32_HUB75_LED_MATRIX_PANEL_DMA_Display\src\platforms\esp32\esp32-default-pins.hpp

Thanks a lot....


state_machine.h: fix initialization of state_, chg_time_

The old code called operator=() to initialize, which checked
state_ to determine whether a change was really needed. Of course,
at that point in time state_ was still uninitialized (=> undefined behavior).
So do the initialization explicitly.
Found using valgrind.

Thanks for fixing this. One stylistic nit though: the variables should be initialized in the initializer list, like name_. Would you mind changing that?

I agree, that's better. I pushed a new version...

Thanks!


DBZ-1925 Upgrade to Kafka 2.4.1

https://issues.redhat.com/browse/DBZ-1925

@Naros, the failure on CI is unrelated, but it looks like a real thing. Can you check it out and probably capture it with a new JIRA issue? Thx!

Hi @gunnarmorling, actually the failure is because the test expected the ExtractField SMT to throw a NullPointerException when not finding a find but with the recent changes in Kafka 2.4.1, it now throws an IllegalArgumentException.  I'll update the tests accordingly.

Ah, so it actually is related. So good to have CI :)

Indeed, I saw the failure yesterday when I sent in the PR and without hesitation just assumed that it was unrelated as well since everything else was fine :).  Commit 75e1067 should resolve it now.

@Naros, did you see my other comment on the issue re Confluent Platform? Does its version match?

Something broken  with formatting it seems.

HA, that's what I get for pushing without running the build locally.  Should be all set.

Thanks, @Naros! Logged https://issues.redhat.com/browse/DBZ-1943 for a small follow-up around dependencies.


Wall don't move in Scenario #107

Affected Scenario(s):
107
Describe the bug
Cannot move iron walls and obsidian glass in Scenario 107 as instructed by the scenario
To Reproduce
Steps to reproduce the behavior:

Go to Scenario
Attempt to move a wall overlay

Browser : [e.g. Chrome, Firefox]
Chrome, Edge

Hi @dhyanna  I'll have a look at this and work it into the next release 🙂

I believe the last time I played 107, I was able to move the iron walls so i assumed this is fixed. However, that might have been after I moved to Firefox.

Hmmm.. this looks like a Chrome bug. Chrome's handling of drag and drop is horrible but oddly other Chromium based browsers (like Brave) are fine). I'll keep this open and continue to look into it


"action" not returning the output

Hi,
This is related to the issue Ive opened in libyang-python: https://github.com/CESNET/libyang-python/issues/10
tl;dr - I have had an issue there with parsing a callback for an action. I have made a local fix which works (I think).
When getting the reply for the rpc (adding it here again):
<action xmlns="urn:ietf:params:xml:ns:yang:1">
                        <loadbalancer xmlns="insidepacket:loadbalancer">
                            <nodes>
                                <ip><IP_ADDRESS></ip>
                                <change_state>
                                    <desired_state>inactive</desired_state>
                                </change_state>
                            </nodes>
                        </loadbalancer>
                    </action>

I am getting:
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:80be6c1f-0878-4235-af40-ad89e7c09429"><nc:ok/></nc:rpc-reply>

Even though in application I have what I think to be, the correct response (according to the in-code-docs) :
import signal
import sys
import sysrepo

def action_cb(rpc_input, event, private_data):
    print(str(rpc_input)+','+str( event)+','+str(private_data))
    print()
    print("========================")
    print("RPC call: %s" % rpc_input)
    return({'change_state':{'success':'we did it'}})

def module_change_cb(event, req_id, config, changes, private_data):
    print()
    print("========================")
    print("Module changed event: %s (request ID %s)" % (event, req_id))
    print("config = %s" % config)
    print("----- changes -----")
    for c in changes:
        print(repr(c))
    print("----- end of changes -----")
    print()

# ------------------------------------------------------------------------------
def main():
    with sysrepo.SysrepoConnection() as conn:
        with conn.start_session() as sess:
            print('starting')
            sess.subscribe_module_change("loadbalancer", None, module_change_cb)
            sess.subscribe_rpc_call("/loadbalancer:loadbalancer/nodes/change_state", action_cb)
            print('working')
            signal.sigwait({signal.SIGINT, signal.SIGTERM})

# ------------------------------------------------------------------------------
if __name__ == "__main__":
    sys.exit(main())

Am I missing here something? In any case, I will continue to debug the code locally

After more digging, I found the issue (something that is probably something you would find straight forward) - there is no "SAction"

Hi @chaichairiko,
indeed, I did not implement action support. This requires a patch in CESNET/libyang-python as well.

Closing this issue as it is also relevant to libyang-python

No, I think proper support of action will need a patch in sysrepo-python too. Reopening.


Add pre-commit support, and fix end of line and file issues

Adds support for pre-commit originally proposed in https://github.com/libfn/functional/pull/117, moved here due to the issues encountered with the merge against the rewritten history on main.

Thank you a lot for this change, also for cleaning up both line and file endings.
Several small comments; also sorry for making the main branch unstable today 😿

You're welcome.  I've addressed the PR comments.  Please let me know if there is anything else and I will address it.

T

Thank you a lot for this change, also for cleaning up both line and file endings.
Several small comments; also sorry for making the main branch unstable today 😿

You're welcome. I've addressed the PR comments. Please let me know if there is anything else and I will address it.

Thank you ! Before I merge it, I need commits to be signed. https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits


enhancement reduce CostAndEnforcerJob call times

Proposed changes
record pruned plan's cost to avoid optimize same GroupExpression more than once.
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.28 seconds
load time: 435 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221123084513_clickbench_pr_51445.html


Mine added video can not be played via different IP

Hello, i can not find any instructions on how the site works.
So i clicked to select a video file. It plays after i clicked play button couple of times.
But when i open the resulting URL via proxy, then video does not play.
Firefox developer console (F12 key) shows:

Trying url http://<IP_ADDRESS>:8080/ipfs/browse.php
browse.php:63:4
HTTP “Content-Type” of “text/html” is not supported. Load of media resource https://usproxy.vpnbook.com/browse.php?u=IilExMXzkMwzmoSe8KoFxt8X448zWn1CCNsvkM1bMyF6aP3PO%2BumgIBE5Ag63XHnJoAUpQ%3D%3D&b=0 failed.
browse.php
Cannot play media. No decoders for requested formats: text/html

Can you post the direct urls you are talking about? The proxy urls seem to have timed out.

Hi, here is the example link i paste into the proxy site and after clicking to play the video, errors i mentioned above appear.

I think this is not the problem of the ipfstube, other proxy works to play the video: https://www.croxyproxy.com/


Decreases timer tests duration #trivial

I noticed that the five tests in Timer-tests.tsx were consistently taking longer than ten seconds to complete. I took a look and it appears that calls to advanceTimersByTime() does an amount of work that scales linearly with the amount of time to advance by (at least in our case, using setInverval()). When calling with 20 * MINUTES, we're really calling advanceTimersByTime(1200000) 😅
This PR reduces the amount of time the test takes to run to about 1s by reducing the number of minutes to advance time by to 1, along with some adjustments to test data (to make sure time advances still cascade from seconds to minutes to hours). Let me know what I can clarify.

Wow thank you! I've been wondering why this was taking longer but didn't have time to look into it. Thanks again for fixing it!


Code lab doesn’t explain how to get Flutter SDK

Feedback was "Code lab doesn’t explain how to get Flutter SDK"

IMHO, we should point to the "getting started" instructions on flutter.io for this purpose.  They should be canonical and battle tested.

I've made a few changes to make the setup instructions clearer:

In 'Step 1: Overview', I've added a 'Frequently Asked Questions' section immediately following 'What you need'. The FAQ points to detailed instructions for installing the Flutter SDK and Atom editor, and iOS and Android setup.
In 'Step 3: Start a new Flutter project', I've added a note to remind users that they'll need to follow the instructions on the Flutter Setup page as a prerequisite.

Marking as closed.


chore: reduce default wait interval

PR-Codex overview
This PR introduces a constant POLL_INTERVAL and replaces hard-coded interval values with it in Bundler.ts.
Detailed summary

Introduced constant POLL_INTERVAL
Replaced hard-coded interval values with POLL_INTERVAL in Bundler.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Whats the benefit of reducing default polling to 2 ms from 5?
we removed the hard coded value but the constant variable can be changed by env var setting?

Hey,
So this number we're picking is just a default. Devs can go and set this themselves but we don't really document it widely so they'd have to search it out so in all likelihood they probably don't customise it all that often.
This value we're discussing is, in effect, the 'max amount of unnecessary milliseconds after a tx has been mined that we make a user wait for the receipt'. We should set it to as small a number as possible (without causing 502 timeouts on the backend). It has a big impact on the effective latency that end users notice imo.
I think getting this number right is pretty important, and it might be different from chain to chain based on backend load, block-mining-times per chain etc etc.

The problem is: 'clients don't know when the backend has mined a tx'. The current solution is for the client to send requests every 'n' milliseconds to check if the backend is done (polling). This PR reduces 'n'. A better (definitely longer term) solution might be to switch the backend to a websocket (which has pub/sub bi-directional flow of information), so the backend can notify the client when txs have been mined, instead of the client having to ask on an interval (which unnecssarily adds to the wait time)

Also Chirag in this PR I'm not added an env var here. I've just added the constant directly in the file - there's no change in that regard.


Generate Override annotation and suppression for precompiled script plugin adapters

For precompiled Groovy script plugins, we generate an adapter class. This class is written in Java, and is the actual plugin that Gradle interacts with. Then, the adapter executes the precompiled script.
We generate this adapter as source code. Errorprone can then complain that the generated source code is missing an @Override annotation on its apply method. They also complain that the generated class lives in the default package.
This commit updates the generated code to add the missing annotation and suppress the default package warning.
We currently get the following warnings in the gradle/gradle build:
/mnt/tcagent1/work/f63322e10dd6b396/build-logic/binary-compatibility/build/groovy-dsl-plugins/output/adapter-src/GradlebuildBinaryCompatibilityPlugin.java:2: warning: [DefaultPackage] Java classes shouldn't use default package
import org.gradle.util.GradleVersion;
^
    (see https://errorprone.info/bugpattern/DefaultPackage
/mnt/tcagent1/work/f63322e10dd6b396/build-logic/binary-compatibility/build/groovy-dsl-plugins/output/adapter-src/GradlebuildBinaryCompatibilityPlugin.java:12: warning: [MissingOverride] apply implements method in Plugin; expected @Override
    public void apply(org.gradle.api.internal.project.ProjectInternal target) {
                ^
    (see https://errorprone.info/bugpattern/MissingOverride
  Did you mean '@Override public void apply(org.gradle.api.internal.project.ProjectInternal target) {'?
2 warnings
/mnt/tcagent1/work/f63322e10dd6b396/build-logic/performance-testing/build/groovy-dsl-plugins/output/adapter-src/GradlebuildPerformanceTemplatesPlugin.java:2: warning: [DefaultPackage] Java classes shouldn't use default package
import org.gradle.util.GradleVersion;
^
    (see https://errorprone.info/bugpattern/DefaultPackage
/mnt/tcagent1/work/f63322e10dd6b396/build-logic/performance-testing/build/groovy-dsl-plugins/output/adapter-src/GradlebuildPerformanceTemplatesPlugin.java:12: warning: [MissingOverride] apply implements method in Plugin; expected @Override
    public void apply(org.gradle.api.internal.project.ProjectInternal target) {
                ^
    (see https://errorprone.info/bugpattern/MissingOverride
  Did you mean '@Override public void apply(org.gradle.api.internal.project.ProjectInternal target) {'?
2 warnings

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

WARN: The milestone of this PR is 8.10 RC1, but the base branch version is 8.9

Wouldn't it be better to add the @org.gradle.api.Generated annotation to these sources instead? Doing so would disable ErrorProne checking on them completely.

Wouldn't it be better to add the @org.gradle.api.Generated annotation to these sources instead? Doing so would disable ErrorProne checking on them completely.

Perhaps.
This works though and is better than it was before. I won't be doing any additional work here


[1.10.2] Crash on server startup

Forge: 2044
Mod: refinedstorage-0.8.14.jar
Crash report: http://pastebin.com/raw/WuSzMWrj

I can confirm this crash is happening, but mine is happening with the controller

Fixing it now

0.8.15 will be up in a few minutes

Thanks for reporting!


SPIKE: Handle RTL languages

When the user chooses a language that is RTL tC Create needs to handle it properly.
Who can test this? (send out an invite on OCE?)
What are the typical performance expectations?
What has RUN done on this? Font support? Font Sizing?
What are the usual bug/problems/fixes for RTL? (ie. bouncing cursor)
What RTL BPs/resources do we have on Door43?

RTL languages:
Right-To-Left Languages
The two most well-known right to left languages are Arabic and Hebrew, which share a common linguistic ancestor in the Aramaic alphabet. Persian, Sindhi and Urdu all use adapted forms of the Arabic alphabet. Azeri, Kurdish, Azerbaijani, Rohingya, Fula, N’ko, Syriac and Maldivian are also right-to-left languages.

Note: Released RTL resources:
https://git.door43.org/catalog?tab=&sort=newest&q=ar\_
https://git.door43.org/catalog?tab=&sort=newest&q=ur\_
fa
https://git.door43.org/catalog?tab=&sort=newest&q=fa\_

Note: Unreleased RTL resources:
https://git.door43.org/explore/repos?tab=&sort=recentupdate&q=ar\_
https://git.door43.org/explore/repos?tab=&sort=recentupdate&q=ur\_
https://git.door43.org/explore/repos?tab=&sort=recentupdate&q=fa\_

Who can test this?

Users who uses languages like Arabic, Urdu and other languages which can be written in RTL can test(Maybe need to fill in more for clarity)

What are the typical performance expectations?
some of the UI expectations are

Scroll bar should be at left of the editor
Should auto detect right or left language
Editor should be handling the mixture of right and left languages
Undo should work for RTL

What are the usual bug/problems/fixes for RTL? (ie. bouncing cursor)

Cursor shouldn't be jumping around
Cursor should be stable

@birchamp  3rd is for the person you mention RUN

https://git.door43.org/fa_gl/fa_obs/src/branch/master/content. - may be a good place to start

@jincypjose test a simple text area by setting the RTL direction.
We need to determine:
What happens when a RTL element has English text in it already?
What happens when the user types a RTL language while the English is still there
What happens when the English is replaced?
What happens when RTL language is typed but then the user needs to switch to English?

1.when i was testing in a common editor i observed if RTL has english text already in the field for eg: arabic is the language we are going to type into, it matters if the english text is in the middle or in between arabic words there would be no changes in the direction.But when the english text was at the beginning the editor was auto detecting the language and was changing the direction for eg: when i typed english and then arabic(the editor was auto detecting the direction of first language which is english and was keeping the same direction for arabic which is LTR).
2. So for second one my observation would be same as first one.
3. when i was replacing English with arabic it worked normal(as we know the difference would be the direction and the cursor where it will be placed.so, for english in RTL the cursor would be at the beginning).
4.we can type english in RTL but the difference would be the cursor as a mentioned above also i observed, when i typed an english sentence and tried characters like(.,+*&^%$#() etc..) was getting placed at the beginning. Works normal for letters and numbers.


2 Folders have different branches

How can I merge these different branches anyway...

I'm trying to revert commit histories but failed.
I just modified all the files I wanna re-show on the main-branch and push them. 😂
Then how can I delete another branch I made by mistake?


Add examples on timeout

show how to change the AHC + actor timeout

Added doc http://www.parallec.io/docs/configurations/#timeout


Outlook Presence dependency on SfB has been fixed in the latest Teams Update

Outlook Presence dependency on SfB has been fixed in the latest Teams Update:
"If you uninstall the Skype for Business client after you move a user to Teams Only mode, presence stops working in Outlook and other Office apps. Presence works fine in Teams. Workaround: To see presence in Outlook (and other Office apps), Skype for Business must be installed, even if you're running Teams in Teams Only mode. Microsoft is aware of this problem and is working on a fix."

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

ID: d53d0cb0-90a6-5932-f78e-7de6fcc4d481
Version Independent ID: 3d468027-cc37-5199-32ec-819bf62b2caa
Content: Interoperability between Skype for business and Microsoft Teams - Microsoft Teams
Content Source: Teams/teams-and-skypeforbusiness-coexistence-and-interoperability.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@dilip-2201 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Any update on the above?   Was the Outlook presence issue fixed or not?   This is a very important item to have accurate in this document.

Hi @joeljanke - thanks for your input. We've removed the note and replaced it with the following:
If you uninstall the Skype for Business client after you move a user to Teams Only mode, you may need to restart Outlook and Teams if presence stops working.


Removes debug information from release builds

This halves the size of the distributed binary in addition to removing some linker warnings when the debug symbol database is not distributed with the binary.

@Bxil Nice! Thanks for the review!


Week 8 Documentation

Coverage remained the same at 92.288% when pulling b72646c99f91bc55fa91c4088bbfc261f52b2f0d on GeneralDocumentation into 6e90c5734180e7ade4ce208f2fb39024e759baee on master.

Coverage remained the same at 92.288% when pulling afd0720e1889c40c93c8e2836cc5683eba905323 on GeneralDocumentation into 6e90c5734180e7ade4ce208f2fb39024e759baee on master.

Coverage remained the same at 92.288% when pulling 3c3f5c599a4e4d0a559b85034ae9f131c0bbfe69 on GeneralDocumentation into 6e90c5734180e7ade4ce208f2fb39024e759baee on master.


added the variable genDirectoryAidl so that the folder containing generated sources based on aidl can be parameterized

added the variable genDirectoryAidl so that the folder containing generated sources based on aidl can be parameterized
I did not add tests (but I tested locally the plugin parameter is working) since it did not seem to have any tests for the R folder...

looks good. Can you be a bit more verbose on the javadoc explaining that it is regarding the aidl folder..

yep you were right, I did not update the javadoc and it was totally confusing.

Looks good now..


Allow adding of suffixes to class names

Describe the solution you'd like
I am currently adding a generic class like my-svg-icon to each SVG. It would be nice to also be able to add a custom class specific to each icon, so that the class names were something like my-svg-icon my-svg-icon__cat, for the icon cat.svg or whatever.
There's the addClassesToSVGElement plugin to add classes to each SVG file.
There's the prefixIds plugin to add a prefix of the filename to each SVG file.
However, I don't see a way through these two plugins to add a suffix to each SVG class name that would be specific to each SVG processed.

PR --> https://github.com/svg/svgo/pull/1757

I've addressed this using the solution I proposed in https://github.com/svg/svgo/pull/1757#issuecomment-1928466959. You should be able to use a config like this in the next version of SVGO:
module.exports = {
  plugins: [
    {
      name: "addClassesToSVGElement",
      params: {
        classNames: [
          'my-svg-icon',
          (_, info) => `my-svg-icon__${info?.path?.split('.')[0]}`,
        ]
      }
    }
  ]
}

Feel free to file another issue if you encounter any problems.


Use python3 -m pip instead of pip.

Fixes #20.

it really doesn't though? the problem is not the pip invocation but the address

Damn, you're right. Anyway, as an FYI, the correct way to invoke pip is with python -m pip, since pip3 is not always available. So I think this PR should be merge anyway, what do you think?

can you think of a practical situation where (1) python3 is available, and (2) pip3 is not available, but (3) python3 -m pip works anyway, and (4) person using this system doesn't know enough about pip to self-correct the command?

i mean, on Windows for example, in the default installation, neither python3 nor pip3 is available, but both python and pip are. So we'd have to drop the "3" ... but that breaks on the majority of currently existing Linux installations because it invokes python2.

I can't think of any, though I remember I did run into an issue with pip3 being unavailable in one of my projects.


[QUESTION]: no persistent volumes available for this claim and no storage class is set

Is your question answered elsewhere?

[X] searched the existing issues.
[X] asked MilMil.
[X] read the documentation.

What is your question?
when ofliine install my k8s has this error,all volumns has not found
Anything else?
e

/assign @LoveEachDay

You can check whether any storageclass is provisioned in your kubernetes cluster, using the following command:
kubectl get storageclass

You'd make sure that you have set up the default storageclass.
milvus-helm chart automatically uses the default storageclass to provision a persistent volume claim.

thx!

{"level":"fatal","ts":"2022-02-15T03:47:21.666Z","caller":"etcdmain/etcd.go:203","msg":"discovery failed","error":"failed to resolve http://my-milvus-etcd-0.my-milvus-etcd-headless.default.svc.cluster.local:2380 to match --initial-cluster=my-milvus-etcd-0=http://my-milvus-etcd-0.my-milvus-etcd-headless.default.svc.cluster.local:2380 (failed to resolve "http://my-milvus-etcd-0.my-milvus-etcd-headless.default.svc.cluster.local:2380" (lookup my-milvus-etcd-0.my-milvus-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving))","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/etcd.go:203\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/home/remote/sbatsche/.gvm/gos/go1.16.3/src/runtime/proc.go:225"}

my milvus etcd has new error

When the etcd-0 started, it will register itself via headeless proxy into the coredns. It's just a transient phenomenon.
Could you provide the full log for all the etcd pods in a file?

etcd 10:44:18.20
etcd 10:44:18.21 Welcome to the Bitnami etcd container
etcd 10:44:18.21 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-etcd
etcd 10:44:18.21 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-etcd/issues
etcd 10:44:18.21
etcd 10:44:18.22 INFO  ==> ** Starting etcd setup **
etcd 10:44:18.23 INFO  ==> Validating settings in ETCD_* env vars..
etcd 10:44:18.23 WARN  ==> You set the environment variable ALLOW_NONE_AUTHENTICATION=yes. For safety reasons, do not use this flag in a production environment.
etcd 10:44:18.24 INFO  ==> Initializing etcd
etcd 10:44:18.25 INFO  ==> Detected data from previous deployments
etcd 10:44:51.36 INFO  ==> Member ID wasn't properly stored, the member will try to join the cluster by it's own
etcd 10:44:51.37 INFO  ==> ** etcd setup finished! **
etcd 10:44:51.40 INFO  ==> ** Starting etcd **
{"level":"info","ts":1644921891.4396498,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ADVERTISE_CLIENT_URLS","variable-value":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2379"}
{"level":"info","ts":1644921891.4402776,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_MODE","variable-value":"revision"}
{"level":"info","ts":1644921891.4402924,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_RETENTION","variable-value":"10000"}
{"level":"info","ts":1644921891.4403033,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921891.4403207,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_CLIENT_CERT_AUTH","variable-value":"false"}
{"level":"info","ts":1644921891.4403381,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_DATA_DIR","variable-value":"/bitnami/etcd/data"}
{"level":"info","ts":1644921891.440358,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ELECTION_TIMEOUT","variable-value":"25000"}
{"level":"info","ts":1644921891.4403934,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_HEARTBEAT_INTERVAL","variable-value":"500"}
{"level":"info","ts":1644921891.4404287,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_ADVERTISE_PEER_URLS","variable-value":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921891.4404411,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER","variable-value":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921891.4404547,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_STATE","variable-value":"new"}
{"level":"info","ts":1644921891.4404645,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_TOKEN","variable-value":"etcd-cluster-k8s"}
{"level":"info","ts":1644921891.4404805,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_CLIENT_URLS","variable-value":"http://<IP_ADDRESS>:2379"}
{"level":"info","ts":1644921891.4405117,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_PEER_URLS","variable-value":"http://<IP_ADDRESS>:2380"}
{"level":"info","ts":1644921891.440523,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LOG_LEVEL","variable-value":"info"}
{"level":"info","ts":1644921891.4405408,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_NAME","variable-value":"my-release-etcd-0"}
{"level":"info","ts":1644921891.4405527,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_PEER_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921891.4405794,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_QUOTA_BACKEND_BYTES","variable-value":"4294967296"}
{"level":"warn","ts":1644921891.4406133,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_TRUSTED_CA_FILE="}
{"level":"warn","ts":1644921891.440643,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ON_K8S=yes"}
{"level":"warn","ts":1644921891.4406538,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_SNAPSHOTS_DIR=/snapshots"}
{"level":"warn","ts":1644921891.440664,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BIN_DIR=/opt/bitnami/etcd/sbin"}
{"level":"warn","ts":1644921891.4406753,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_VOLUME_DIR=/bitnami/etcd"}
{"level":"warn","ts":1644921891.4406898,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ROOT_PASSWORD="}
{"level":"warn","ts":1644921891.4407012,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CLUSTER_DOMAIN=my-release-etcd-headless.default.svc.cluster.local"}
{"level":"warn","ts":1644921891.44071,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISASTER_RECOVERY=no"}
{"level":"warn","ts":1644921891.44072,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_KEY_FILE="}
{"level":"warn","ts":1644921891.4407334,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_GROUP=etcd"}
{"level":"warn","ts":1644921891.440747,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_START_FROM_SNAPSHOT=no"}
{"level":"warn","ts":1644921891.4407616,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOT_FILENAME="}
{"level":"warn","ts":1644921891.4407723,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOTS_DIR=/init-snapshot"}
{"level":"warn","ts":1644921891.4407845,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BASE_DIR=/opt/bitnami/etcd"}
{"level":"warn","ts":1644921891.4407988,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CERT_FILE="}
{"level":"warn","ts":1644921891.44081,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_NEW_MEMBERS_ENV_FILE=/bitnami/etcd/data/new_member_envs"}
{"level":"warn","ts":1644921891.4408193,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_USER=etcd"}
{"level":"info","ts":"2022-02-15T10:44:51.441Z","caller":"etcdmain/etcd.go:72","msg":"Running: ","args":["/opt/bitnami/etcd/bin/etcd"]}
{"level":"info","ts":"2022-02-15T10:44:51.442Z","caller":"etcdmain/etcd.go:115","msg":"server has been already initialized","data-dir":"/bitnami/etcd/data","dir-type":"member"}
{"level":"info","ts":"2022-02-15T10:44:51.442Z","caller":"embed/etcd.go:131","msg":"configuring peer listeners","listen-peer-urls":["http://<IP_ADDRESS>:2380"]}
{"level":"info","ts":"2022-02-15T10:44:51.442Z","caller":"embed/etcd.go:139","msg":"configuring client listeners","listen-client-urls":["http://<IP_ADDRESS>:2379"]}
{"level":"info","ts":"2022-02-15T10:44:51.442Z","caller":"embed/etcd.go:307","msg":"starting an etcd server","etcd-version":"3.5.0","git-sha":"946a5a6f2","go-version":"go1.16.3","go-os":"linux","go-arch":"amd64","max-cpu-set":55,"max-cpu-available":55,"member-initialized":false,"name":"my-release-etcd-0","data-dir":"/bitnami/etcd/data","wal-dir":"","wal-dir-dedicated":"","member-dir":"/bitnami/etcd/data/member","force-new-cluster":false,"heartbeat-interval":"500ms","election-timeout":"25s","initial-election-tick-advance":true,"snapshot-count":100000,"snapshot-catchup-entries":5000,"initial-advertise-peer-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380"],"listen-peer-urls":["http://<IP_ADDRESS>:2380"],"advertise-client-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2379"],"listen-client-urls":["http://<IP_ADDRESS>:2379"],"listen-metrics-urls":[],"cors":[""],"host-whitelist":[""],"initial-cluster":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","initial-cluster-state":"new","initial-cluster-token":"etcd-cluster-k8s","quota-size-bytes":4294967296,"pre-vote":true,"initial-corrupt-check":false,"corrupt-check-time-interval":"0s","auto-compaction-mode":"revision","auto-compaction-retention":"10µs","auto-compaction-interval":"10µs","discovery-url":"","discovery-proxy":"","downgrade-check-interval":"5s"}
{"level":"info","ts":"2022-02-15T10:44:51.443Z","caller":"etcdserver/backend.go:81","msg":"opened backend db","path":"/bitnami/etcd/data/member/snap/db","took":"171.718µs"}
{"level":"warn","ts":"2022-02-15T10:44:55.449Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:00.456Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:05.463Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:10.470Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:15.478Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:20.485Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:21.444Z","caller":"netutil/netutil.go:131","msg":"failed to resolve URL Host; returning","url":"http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"info","ts":"2022-02-15T10:45:21.444Z","caller":"embed/etcd.go:367","msg":"closing etcd server","name":"my-release-etcd-0","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"info","ts":"2022-02-15T10:45:21.444Z","caller":"embed/etcd.go:369","msg":"closed etcd server","name":"my-release-etcd-0","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"fatal","ts":"2022-02-15T10:45:21.444Z","caller":"etcdmain/etcd.go:203","msg":"discovery failed","error":"failed to resolve http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380 to match --initial-cluster=my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380 (failed to resolve "http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380" (lookup my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving))","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/etcd.go:203\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/home/remote/sbatsche/.gvm/gos/go1.16.3/src/runtime/proc.go:225"}

etcd 10:43:15.42
etcd 10:43:15.42 Welcome to the Bitnami etcd container
etcd 10:43:15.43 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-etcd
etcd 10:43:15.43 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-etcd/issues
etcd 10:43:15.43
etcd 10:43:15.43 INFO  ==> ** Starting etcd setup **
etcd 10:43:15.45 INFO  ==> Validating settings in ETCD_* env vars..
etcd 10:43:15.45 WARN  ==> You set the environment variable ALLOW_NONE_AUTHENTICATION=yes. For safety reasons, do not use this flag in a production environment.
etcd 10:43:15.46 INFO  ==> Initializing etcd
etcd 10:43:15.47 INFO  ==> Detected data from previous deployments
etcd 10:43:48.57 INFO  ==> Member ID wasn't properly stored, the member will try to join the cluster by it's own
etcd 10:43:48.58 INFO  ==> ** etcd setup finished! **
etcd 10:43:48.62 INFO  ==> ** Starting etcd **
{"level":"info","ts":1644921828.655278,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ADVERTISE_CLIENT_URLS","variable-value":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2379"}
{"level":"info","ts":1644921828.6555047,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_MODE","variable-value":"revision"}
{"level":"info","ts":1644921828.6555228,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_RETENTION","variable-value":"10000"}
{"level":"info","ts":1644921828.655536,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921828.6555557,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_CLIENT_CERT_AUTH","variable-value":"false"}
{"level":"info","ts":1644921828.6555789,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_DATA_DIR","variable-value":"/bitnami/etcd/data"}
{"level":"info","ts":1644921828.6555984,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ELECTION_TIMEOUT","variable-value":"25000"}
{"level":"info","ts":1644921828.6556425,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_HEARTBEAT_INTERVAL","variable-value":"500"}
{"level":"info","ts":1644921828.6556687,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_ADVERTISE_PEER_URLS","variable-value":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921828.6556845,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER","variable-value":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921828.6557,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_STATE","variable-value":"new"}
{"level":"info","ts":1644921828.6557114,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_TOKEN","variable-value":"etcd-cluster-k8s"}
{"level":"info","ts":1644921828.6557338,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_CLIENT_URLS","variable-value":"http://<IP_ADDRESS>:2379"}
{"level":"info","ts":1644921828.6557586,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_PEER_URLS","variable-value":"http://<IP_ADDRESS>:2380"}
{"level":"info","ts":1644921828.655772,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LOG_LEVEL","variable-value":"info"}
{"level":"info","ts":1644921828.6557915,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_NAME","variable-value":"my-release-etcd-1"}
{"level":"info","ts":1644921828.6558056,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_PEER_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921828.655847,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_QUOTA_BACKEND_BYTES","variable-value":"4294967296"}
{"level":"warn","ts":1644921828.655889,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_TRUSTED_CA_FILE="}
{"level":"warn","ts":1644921828.6559265,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ON_K8S=yes"}
{"level":"warn","ts":1644921828.6559374,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_SNAPSHOTS_DIR=/snapshots"}
{"level":"warn","ts":1644921828.6559613,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BIN_DIR=/opt/bitnami/etcd/sbin"}
{"level":"warn","ts":1644921828.6559749,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_VOLUME_DIR=/bitnami/etcd"}
{"level":"warn","ts":1644921828.655992,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ROOT_PASSWORD="}
{"level":"warn","ts":1644921828.6560051,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CLUSTER_DOMAIN=my-release-etcd-headless.default.svc.cluster.local"}
{"level":"warn","ts":1644921828.6560154,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISASTER_RECOVERY=no"}
{"level":"warn","ts":1644921828.6560266,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_KEY_FILE="}
{"level":"warn","ts":1644921828.6560411,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_GROUP=etcd"}
{"level":"warn","ts":1644921828.6560538,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_START_FROM_SNAPSHOT=no"}
{"level":"warn","ts":1644921828.6560705,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOT_FILENAME="}
{"level":"warn","ts":1644921828.656081,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOTS_DIR=/init-snapshot"}
{"level":"warn","ts":1644921828.656095,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BASE_DIR=/opt/bitnami/etcd"}
{"level":"warn","ts":1644921828.656111,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CERT_FILE="}
{"level":"warn","ts":1644921828.6561236,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_NEW_MEMBERS_ENV_FILE=/bitnami/etcd/data/new_member_envs"}
{"level":"warn","ts":1644921828.6561344,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_USER=etcd"}
{"level":"info","ts":"2022-02-15T10:43:48.656Z","caller":"etcdmain/etcd.go:72","msg":"Running: ","args":["/opt/bitnami/etcd/bin/etcd"]}
{"level":"info","ts":"2022-02-15T10:43:48.656Z","caller":"etcdmain/etcd.go:115","msg":"server has been already initialized","data-dir":"/bitnami/etcd/data","dir-type":"member"}
{"level":"info","ts":"2022-02-15T10:43:48.656Z","caller":"embed/etcd.go:131","msg":"configuring peer listeners","listen-peer-urls":["http://<IP_ADDRESS>:2380"]}
{"level":"info","ts":"2022-02-15T10:43:48.656Z","caller":"embed/etcd.go:139","msg":"configuring client listeners","listen-client-urls":["http://<IP_ADDRESS>:2379"]}
{"level":"info","ts":"2022-02-15T10:43:48.656Z","caller":"embed/etcd.go:307","msg":"starting an etcd server","etcd-version":"3.5.0","git-sha":"946a5a6f2","go-version":"go1.16.3","go-os":"linux","go-arch":"amd64","max-cpu-set":32,"max-cpu-available":32,"member-initialized":false,"name":"my-release-etcd-1","data-dir":"/bitnami/etcd/data","wal-dir":"","wal-dir-dedicated":"","member-dir":"/bitnami/etcd/data/member","force-new-cluster":false,"heartbeat-interval":"500ms","election-timeout":"25s","initial-election-tick-advance":true,"snapshot-count":100000,"snapshot-catchup-entries":5000,"initial-advertise-peer-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380"],"listen-peer-urls":["http://<IP_ADDRESS>:2380"],"advertise-client-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2379"],"listen-client-urls":["http://<IP_ADDRESS>:2379"],"listen-metrics-urls":[],"cors":[""],"host-whitelist":[""],"initial-cluster":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","initial-cluster-state":"new","initial-cluster-token":"etcd-cluster-k8s","quota-size-bytes":4294967296,"pre-vote":true,"initial-corrupt-check":false,"corrupt-check-time-interval":"0s","auto-compaction-mode":"revision","auto-compaction-retention":"10µs","auto-compaction-interval":"10µs","discovery-url":"","discovery-proxy":"","downgrade-check-interval":"5s"}
{"level":"info","ts":"2022-02-15T10:43:48.658Z","caller":"etcdserver/backend.go:81","msg":"opened backend db","path":"/bitnami/etcd/data/member/snap/db","took":"326.843µs"}
{"level":"warn","ts":"2022-02-15T10:43:52.665Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:43:57.672Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:44:02.679Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:44:07.685Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:44:12.691Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:44:17.698Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:44:18.659Z","caller":"netutil/netutil.go:131","msg":"failed to resolve URL Host; returning","url":"http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"info","ts":"2022-02-15T10:44:18.659Z","caller":"embed/etcd.go:367","msg":"closing etcd server","name":"my-release-etcd-1","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"info","ts":"2022-02-15T10:44:18.659Z","caller":"embed/etcd.go:369","msg":"closed etcd server","name":"my-release-etcd-1","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"fatal","ts":"2022-02-15T10:44:18.659Z","caller":"etcdmain/etcd.go:203","msg":"discovery failed","error":"failed to resolve http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380 to match --initial-cluster=my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380 (failed to resolve "http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380" (lookup my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving))","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/etcd.go:203\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/home/remote/sbatsche/.gvm/gos/go1.16.3/src/runtime/proc.go:225"}

etcd 10:44:18.65
etcd 10:44:18.65 Welcome to the Bitnami etcd container
etcd 10:44:18.66 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-etcd
etcd 10:44:18.66 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-etcd/issues
etcd 10:44:18.66
etcd 10:44:18.66 INFO  ==> ** Starting etcd setup **
etcd 10:44:18.69 INFO  ==> Validating settings in ETCD_* env vars..
etcd 10:44:18.69 WARN  ==> You set the environment variable ALLOW_NONE_AUTHENTICATION=yes. For safety reasons, do not use this flag in a production environment.
etcd 10:44:18.70 INFO  ==> Initializing etcd
etcd 10:44:18.71 INFO  ==> Detected data from previous deployments
etcd 10:44:51.84 INFO  ==> Member ID wasn't properly stored, the member will try to join the cluster by it's own
etcd 10:44:51.85 INFO  ==> ** etcd setup finished! **
etcd 10:44:51.89 INFO  ==> ** Starting etcd **
{"level":"info","ts":1644921891.9282832,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ADVERTISE_CLIENT_URLS","variable-value":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2379"}
{"level":"info","ts":1644921891.9284277,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_MODE","variable-value":"revision"}
{"level":"info","ts":1644921891.9284465,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_COMPACTION_RETENTION","variable-value":"10000"}
{"level":"info","ts":1644921891.9284608,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921891.9284828,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_CLIENT_CERT_AUTH","variable-value":"false"}
{"level":"info","ts":1644921891.9285078,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_DATA_DIR","variable-value":"/bitnami/etcd/data"}
{"level":"info","ts":1644921891.9285266,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ELECTION_TIMEOUT","variable-value":"25000"}
{"level":"info","ts":1644921891.9285886,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_HEARTBEAT_INTERVAL","variable-value":"500"}
{"level":"info","ts":1644921891.9286182,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_ADVERTISE_PEER_URLS","variable-value":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921891.9286342,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER","variable-value":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"}
{"level":"info","ts":1644921891.9286509,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_STATE","variable-value":"new"}
{"level":"info","ts":1644921891.92867,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_INITIAL_CLUSTER_TOKEN","variable-value":"etcd-cluster-k8s"}
{"level":"info","ts":1644921891.92869,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_CLIENT_URLS","variable-value":"http://<IP_ADDRESS>:2379"}
{"level":"info","ts":1644921891.9287307,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_PEER_URLS","variable-value":"http://<IP_ADDRESS>:2380"}
{"level":"info","ts":1644921891.9287488,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LOG_LEVEL","variable-value":"info"}
{"level":"info","ts":1644921891.9287705,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_NAME","variable-value":"my-release-etcd-2"}
{"level":"info","ts":1644921891.928787,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_PEER_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":1644921891.928818,"caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_QUOTA_BACKEND_BYTES","variable-value":"4294967296"}
{"level":"warn","ts":1644921891.9288597,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_TRUSTED_CA_FILE="}
{"level":"warn","ts":1644921891.9288964,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ON_K8S=yes"}
{"level":"warn","ts":1644921891.9289117,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_SNAPSHOTS_DIR=/snapshots"}
{"level":"warn","ts":1644921891.9289253,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BIN_DIR=/opt/bitnami/etcd/sbin"}
{"level":"warn","ts":1644921891.928939,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_VOLUME_DIR=/bitnami/etcd"}
{"level":"warn","ts":1644921891.928957,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ROOT_PASSWORD="}
{"level":"warn","ts":1644921891.9289832,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CLUSTER_DOMAIN=my-release-etcd-headless.default.svc.cluster.local"}
{"level":"warn","ts":1644921891.9289994,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISASTER_RECOVERY=no"}
{"level":"warn","ts":1644921891.9290118,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_KEY_FILE="}
{"level":"warn","ts":1644921891.929027,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_GROUP=etcd"}
{"level":"warn","ts":1644921891.9290414,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_START_FROM_SNAPSHOT=no"}
{"level":"warn","ts":1644921891.9290586,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOT_FILENAME="}
{"level":"warn","ts":1644921891.9290938,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOTS_DIR=/init-snapshot"}
{"level":"warn","ts":1644921891.929109,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BASE_DIR=/opt/bitnami/etcd"}
{"level":"warn","ts":1644921891.929127,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CERT_FILE="}
{"level":"warn","ts":1644921891.9291382,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_NEW_MEMBERS_ENV_FILE=/bitnami/etcd/data/new_member_envs"}
{"level":"warn","ts":1644921891.9291492,"caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_USER=etcd"}
{"level":"info","ts":"2022-02-15T10:44:51.929Z","caller":"etcdmain/etcd.go:72","msg":"Running: ","args":["/opt/bitnami/etcd/bin/etcd"]}
{"level":"info","ts":"2022-02-15T10:44:51.931Z","caller":"etcdmain/etcd.go:115","msg":"server has been already initialized","data-dir":"/bitnami/etcd/data","dir-type":"member"}
{"level":"info","ts":"2022-02-15T10:44:51.931Z","caller":"embed/etcd.go:131","msg":"configuring peer listeners","listen-peer-urls":["http://<IP_ADDRESS>:2380"]}
{"level":"info","ts":"2022-02-15T10:44:51.931Z","caller":"embed/etcd.go:139","msg":"configuring client listeners","listen-client-urls":["http://<IP_ADDRESS>:2379"]}
{"level":"info","ts":"2022-02-15T10:44:51.931Z","caller":"embed/etcd.go:307","msg":"starting an etcd server","etcd-version":"3.5.0","git-sha":"946a5a6f2","go-version":"go1.16.3","go-os":"linux","go-arch":"amd64","max-cpu-set":32,"max-cpu-available":32,"member-initialized":false,"name":"my-release-etcd-2","data-dir":"/bitnami/etcd/data","wal-dir":"","wal-dir-dedicated":"","member-dir":"/bitnami/etcd/data/member","force-new-cluster":false,"heartbeat-interval":"500ms","election-timeout":"25s","initial-election-tick-advance":true,"snapshot-count":100000,"snapshot-catchup-entries":5000,"initial-advertise-peer-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"],"listen-peer-urls":["http://<IP_ADDRESS>:2380"],"advertise-client-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2379"],"listen-client-urls":["http://<IP_ADDRESS>:2379"],"listen-metrics-urls":[],"cors":[""],"host-whitelist":[""],"initial-cluster":"my-release-etcd-0=http://my-release-etcd-0.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-1=http://my-release-etcd-1.my-release-etcd-headless.default.svc.cluster.local:2380,my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","initial-cluster-state":"new","initial-cluster-token":"etcd-cluster-k8s","quota-size-bytes":4294967296,"pre-vote":true,"initial-corrupt-check":false,"corrupt-check-time-interval":"0s","auto-compaction-mode":"revision","auto-compaction-retention":"10µs","auto-compaction-interval":"10µs","discovery-url":"","discovery-proxy":"","downgrade-check-interval":"5s"}
{"level":"info","ts":"2022-02-15T10:44:51.932Z","caller":"etcdserver/backend.go:81","msg":"opened backend db","path":"/bitnami/etcd/data/member/snap/db","took":"314.438µs"}
{"level":"warn","ts":"2022-02-15T10:44:55.939Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:00.947Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:05.952Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:10.960Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:15.968Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:20.975Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"warn","ts":"2022-02-15T10:45:21.933Z","caller":"netutil/netutil.go:131","msg":"failed to resolve URL Host; returning","url":"http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","host":"my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380","retry-interval":"1s","error":"lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving"}
{"level":"info","ts":"2022-02-15T10:45:21.934Z","caller":"embed/etcd.go:367","msg":"closing etcd server","name":"my-release-etcd-2","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"info","ts":"2022-02-15T10:45:21.934Z","caller":"embed/etcd.go:369","msg":"closed etcd server","name":"my-release-etcd-2","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380"],"advertise-client-urls":["http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2379"]}
{"level":"fatal","ts":"2022-02-15T10:45:21.934Z","caller":"etcdmain/etcd.go:203","msg":"discovery failed","error":"failed to resolve http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380 to match --initial-cluster=my-release-etcd-2=http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380 (failed to resolve "http://my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local:2380" (lookup my-release-etcd-2.my-release-etcd-headless.default.svc.cluster.local on <IP_ADDRESS>:53: server misbehaving))","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/etcd.go:203\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/home/remote/sbatsche/.gvm/gos/go1.16.3/src/runtime/proc.go:225"}

same error

You'd check the coredns pods inside the kube-system namespace. The default dns service in kubernetes does not behave normally.

kubectl get pods --namespace=kube-system -l k8s-app=core-dns                                                                                [10:05:59]
No resources found in kube-system namespace.
this mean don't have core-dns?

$ kubectl get svc --namespace=kube-system                                                                                [10:07:46]
NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                        AGE
coredns                    ClusterIP   <IP_ADDRESS>               53/UDP,53/TCP,9153/TCP         28d

how set dnsPolicy

@LoveEachDay

[ERROR] plugin/errors: 2 my-release-minio-0.my-release-minio-svc.default.svc.cluster.local. A: read udp <IP_ADDRESS>:45206-><IP_ADDRESS>:53: i/o timeout
[ERROR] plugin/errors: 2 my-release-minio-0.my-release-minio-svc.default.svc.cluster.local. A: read udp <IP_ADDRESS>:54269-><IP_ADDRESS>:53: i/o timeout

Solution：svc.cluster.local -> svc.k8s.cluster

So you have changed the cluster domain in kubelet, but you don't change the corefile of coredns ?


swa cli task in azuredevops server to publish apps into webapp

We are trying to use Azure Static Webapp to deploy the Angular apps instead of currently used Azure App Service and looking for the ADO server task to replace the below app service deployment tasks in Azure Devops server.
- bash: |
       echo "Running npm lint:"
       npm run lint$subProject
       echo "Running npm build:"
       npm run build$subProject
       echo "Running npm test:"
       npm run test$subProject

- task: AzureRmWebAppDeployment@4
  inputs:
    azureSubscription: '$(Subscription)'
    appType: webAppLinux
    WebAppName: '$(appService)'
    deployToSlotOrASE: true
    ResourceGroupName: '$(ResourceGroup)'
    SlotName: '$(SlotName)'
    packageForLinux: '$(Agent.ReleaseDirectory)/my-artifact/$(Build.BuildNumber).zip'
RuntimeStack: NODE|16-lts
StartupCommand: 'pm2 start /home/site/wwwroot/xxxxxx.config.js --no-daemon'

Since "Static Webapp Deployment" task is not supported in Azure Devops server, we have installed SWA CLI in our build agents.
So how can we directly deploy the build pipeline artifacts (.zip) files to static webapp using SWA cli in Azure Devops?
In release pipeline how can we replace the deployment command with swa cli ?

@vivuu1989 Can you please check if you can use this task AzureStaticWebApp@0?
And to use SWA CLI in your pipeline, can you please try this doc and see if it helps: https://www.azurestaticwebapps.dev/blog/devtools-swacli-deploy#deploying-from-a-cicd-pipeline

The azurestatic webapp task is not supported in azuredevops server and we couldn't find this task in market place.


🚀 Feature Request: wrangler types supply generic argument for Queue type

Describe the solution
wrangler types (npm run cf-typegen in the TS scaffold) can generate nice autocomplete but I noticed that for a Queue (and maybe others too) there is no way to supply the generic argument for the "body" of the Queue. It would be nice if there is some way to supply this information or have wrangler figure it out from the code what generic body type should be there. Makes autocomplete on the environment just a little bit nicer and easer.
Asked this in Discord in and was asked to create a feature request here since it's not yet possible.

Additionally, it would be nice if the other generics would have a way of being provided to the cli, such as --queue <Type name> --hostname-metadata <Type name> etc.

+1