Giter Site home page Giter Site logo

Comments (26)

github-actions avatar github-actions commented on July 22, 2024

Thank you for collaborate with the project giving us feedback!!' You will help us a lot if you can attach and example AVRO and an example Test Plan in order to be able to reproduce the error. If that is the case. Cheers

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

I checked the logs of my schema-registry server:

  1. In Schema Registry Config Element, when Test Registry button is clicked, my schema-registry server's log shows:
[2020-10-10 13:50:37,800] INFO 172.18.0.1 - - [10/Oct/2020:13:50:37 +0000] "GET /subjects HTTP/1.1" 200 39  6 (io.confluent.rest-utils.requests)

When this HTTP request is sent from browser, the result shows:

1

  1. In Kafka Load Generator Config, when Load Subjects is clicked, my schema-registry server's log shows:
[2020-10-10 13:52:41,543] INFO 172.18.0.1 - - [10/Oct/2020:13:52:41 +0000] "GET /subjects/<DEFAULT>/versions/latest HTTP/1.1" 404 51  8 (io.confluent.rest-utils.requests)

When this HTTP request is sent from browser, the result shows:

2

The Subject Name dropdown only shows <DEFAULT>, no actual subject available as options. How to make the subject retrieved in step (1) appears as option here?

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwn Yuan,
that's a great investigation job!!
it looks like a bug to me.
I'll handle it and will provide fix in a branch.
I'll let you know asap.
Cheers!!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for your reply, looking forward for the fix 🙏 🎉

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
There is an small fix in the branch, can you please try it and see if that solves your issue?
Cheers!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for your fix, the subject names are loaded properly now 🙏 🎉

But I run into another error, when my AVRO schema contains nested field types, eg: map of string, array of string, and array of map.

I attach full details here for your reference:

  1. AVRO schema file with nested field types (the file extension is renamed to .avsc.txt as I can't upload .avsc file here)

test-10.avsc.txt

  1. When the schema is loaded from Schema Registry, the field types look like:

kafka_load_generator_config

  1. For Java Request, I have selected net.coru.kloadgen.sampler.ConfluentKafkaSampler

java_request

  1. Error message from JMeter log (complain about union-map ...):

jmeter.log

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
glad to hear first issue was fixes, I'll merge it and will take a look to the second one.
Nested types are a bit of a headache.

Cheers!!

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
I took a look into this avro file, and, that make sense? having an optional map with optional values? Syntactically is correct, but logically make any sense? Do you really need that to be supported?

Cheers!!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze yes, I need those nested fields types to be supported.

My actual AVRO schema contains many other fields, where most of them are simple field types, eg: string, int, long, boolean.

What I have attached previously, is the simplified schema which only contains nested fields that aren't currently supported in your plugin.

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
I added some code to support those embedded types. Can you please test if the branch suits your needs?

Regards!!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for your fix & here's what I encounter:

  1. Here's my config in Kafka Load Generator Config.

map_array

It works for string-map.

But for string-array & string-map-array, they are always sent as null. Here's a sample message that is read from my kafka broker:

{"mapOfString": {"map": {"k1": {"string": "v1"}, "k2": {"string": "v2"}, "k3": {"string": "v3"}, "k4": {"string": "v4"}, "k5": {"string": "v5"}}}, "arrayOfString": null, "arrayOfMap": null}

How to configure array size of string-array & string-map-array? Note I have already set the number inside brackets in Field Name (but not working) :

arrayOfString[2]
arrayOfMap[3]
  1. What is Field Length means for these 3 field types? When I try to set them, it throws the below error. Afterwards the interface is no longer responding, it keeps throwing errors.
2020-10-14 20:55:33,729 ERROR o.a.j.r.Functor: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
java.lang.Throwable: null
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:255) [jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) [jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) [jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) [?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) [?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) [?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) [darklaf-core-2.1.1.jar:2.1.1]
	at com.github.weisj.darklaf.ui.table.TableUIBridge$Handler.mousePressed(TableUIBridge.java:1928) [darklaf-core-2.1.1.jar:2.1.1]
	at com.github.weisj.darklaf.ui.table.DarkTableUI$DarkHandler.mousePressed(DarkTableUI.java:482) [darklaf-core-2.1.1.jar:2.1.1]
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280) [?:1.8.0_131]
	at java.awt.Component.processMouseEvent(Component.java:6530) [?:1.8.0_131]
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) [?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6298) [?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) [?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) [?:1.8.0_131]
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522) [?:1.8.0_131]
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2280) [?:1.8.0_131]
	at java.awt.Window.dispatchEventImpl(Window.java:2746) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) [?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]
2020-10-14 20:55:33,736 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]
org.apache.jorphan.util.JMeterError: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:256) ~[jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) ~[jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) ~[jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) ~[?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) ~[?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) ~[?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) ~[darklaf-core-2.1.1.jar:2.1.1]
	at com.github.weisj.darklaf.ui.table.TableUIBridge$Handler.mousePressed(TableUIBridge.java:1928) ~[darklaf-core-2.1.1.jar:2.1.1]
	at com.github.weisj.darklaf.ui.table.DarkTableUI$DarkHandler.mousePressed(DarkTableUI.java:482) ~[darklaf-core-2.1.1.jar:2.1.1]
	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280) ~[?:1.8.0_131]
	at java.awt.Component.processMouseEvent(Component.java:6530) ~[?:1.8.0_131]
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) ~[?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6298) ~[?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) ~[?:1.8.0_131]
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522) ~[?:1.8.0_131]
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2280) ~[?:1.8.0_131]
	at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,

that is odd, I tested with a full example before commit and add your previous txt file in our tests.
I'll take a look later.
About the array/map size, the value should be in the first attribute it shown, between the [], as you did. So it will generate as many array elements as you indicate there. The value length is used by the Random Engine to calculate values not "bigger than " the value specified. For example, you define something like

| property 1 | string | 10 | [] |

so it will generate string no longer than 10 characters.
Otherwise if you it with other types, like the numerics

| property 1 | integer | 5 | [] |

it will generate numbers between 0 and 9999 (inclusives)
If you combine the 2 ways like

| property [3] | integer | 5 | [] |

It will generate an array of 3 elements with randome numbers between 0 and 9999(inclusive)
something like property = [50,100,1300]
if you define an array of objets like

| property[3].id | integer | 5 | [] |
| property[].name | string | 5 | [] |
| property[].qty | float | 3 | [] |

You will get an array of 3 objects which internal properties will be define by the FieldLength column, something like

property: [
       {id:1000, name="rfthy", qty:34.0},
      {id:560, name="mfhey", qty:14.6},
     {id:99, name="qazsw", qty:89.4}
 ]

Hope that explanation help you to understand how it works.
Seeing your example, if you define a map/array size and some values in the field value column, instead of generate the random values from the Random Engine, it will took the samples from that list, randomly.
If you need to specify a list of 4 elements in a certain order and so, the best approach is use the array/map size empty and use Jmeter variables in the Field Value place as ${myvariable} and generate them in a pre-processor step.
Cheers

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for your explanation.

  1. I would like to generate string-map field type like below.
"mapOfString":{
    "map":{
        "id":{
            "string":"308414936"
        },
        "legacyId":{
            "string":"881316"
        }
    }
}

How do I specify this in Kafka Load Generator Config for Field Name / Type / Length / Values List ?

I need the map to always contain 2 fixed keys: id, legacyId.

For their values, how do I specify a list so it can be picked up randomly, for both id & legacyid respectively?

Can you give an example for this use case?

  1. You mentioned about using jmeter preprocessor & use it in Field Values List. Can you provide example for above use case too? If the values for key id, legacyId were to load from jmeter variables from preprocessor.

  2. I encounter quite some crash, sometimes clicked on run, it runs indefinitely & can't be stopped. It didn't show any error but seems like something crashed & can't be interrupted. Restart JMeter is the only way to interrupt it.

Is your plugin compatible with JMeter 5.3? Or should I use other supported version?

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,

I'll provide JMX file in the next commit and I'll edit the avsc so you can get this type of object for the point 1.
related to the point 2 it will be covered in the example point 1.
Related to the 3, yes is a bug I'm solving right now.
Cheers

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
Fix had been uploaded, and a new Example test with variable generation and substitution.
Hope now you can perform the test you require.
Cheers!!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze I tried building package with your latest code, the build failed with test failures:

  1. I build your package inside a docker container (debian:9). Here's my docker container environment:
root@2254c32310c1:/code/kloadgen# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@2254c32310c1:/code/kloadgen#

root@2254c32310c1:/code/kloadgen# cat /proc/version
Linux version 4.19.76-linuxkit (root@4abe09437d05) (gcc version 8.3.0 (Alpine 8.3.0)) #1 SMP Tue May 26 11:42:35 UTC 2020

root@2254c32310c1:/code/kloadgen# cat /etc/debian_version
9.13

root@2254c32310c1:/code/kloadgen# java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0+deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

root@2254c32310c1:/code/kloadgen# mvn -version
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_265, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "4.19.76-linuxkit", arch: "amd64", family: "unix"
  1. build error
Oct 15, 2020 3:29:07 AM ru.lanwen.wiremock.ext.WiremockResolver afterEach
INFO: Stopping wiremock server on localhost:38477
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.AbstractConnector doStop
INFO: Stopped NetworkTrafficServerConnector@48c40605{HTTP/1.1}{0.0.0.0:0}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@770d0ea6{/,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@24f360b2{/__admin,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1895479349{STOPPING,8<=8<=14,i=4,q=6} Couldn't stop Thread[qtp1895479349-78,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1895479349{STOPPING,8<=8<=14,i=3,q=5} Couldn't stop Thread[qtp1895479349-88,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1895479349{STOPPING,8<=8<=14,i=3,q=5} Couldn't stop Thread[qtp1895479349-85,5,main]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.108 s - in net.coru.kloadgen.loadgen.impl.AvroLoadGeneratorTest
[INFO] Running net.coru.kloadgen.processor.AvroSchemaProcessorTest
Oct 15, 2020 3:29:07 AM org.apache.jmeter.util.JMeterUtils setLocale
INFO: Setting Locale to en
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.2.28.v20190418
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.s.ServletContextHandler@6bc248ed{/__admin,null,AVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.s.ServletContextHandler@70ab80e3{/,null,AVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started NetworkTrafficServerConnector@9573b3b{HTTP/1.1}{0.0.0.0:41473}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.Server doStart
INFO: Started @5737ms
Oct 15, 2020 3:29:07 AM ru.lanwen.wiremock.ext.WiremockResolver resolveParameter
INFO: Started wiremock server on localhost:41473
Oct 15, 2020 3:29:07 AM ru.lanwen.wiremock.ext.WiremockResolver afterEach
INFO: Stopping wiremock server on localhost:41473
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.AbstractConnector doStop
INFO: Stopped NetworkTrafficServerConnector@9573b3b{HTTP/1.1}{0.0.0.0:0}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@70ab80e3{/,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@6bc248ed{/__admin,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp896852376{STOPPING,8<=8<=14,i=8,q=8} Couldn't stop Thread[qtp896852376-92,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp896852376{STOPPING,8<=8<=14,i=6,q=7} Couldn't stop Thread[qtp896852376-100,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp896852376{STOPPING,8<=8<=14,i=5,q=7} Couldn't stop Thread[qtp896852376-93,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp896852376{STOPPING,8<=8<=14,i=2,q=7} Couldn't stop Thread[qtp896852376-99,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp896852376{STOPPING,8<=8<=14,i=1,q=7} Couldn't stop Thread[qtp896852376-91,5,]
Oct 15, 2020 3:29:07 AM org.apache.jmeter.util.JMeterUtils setLocale
INFO: Setting Locale to en
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.2.28.v20190418
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.s.ServletContextHandler@41394595{/__admin,null,AVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started o.e.j.s.ServletContextHandler@5769e7ae{/,null,AVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started NetworkTrafficServerConnector@5c77053b{HTTP/1.1}{0.0.0.0:35247}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.Server doStart
INFO: Started @5851ms
Oct 15, 2020 3:29:07 AM ru.lanwen.wiremock.ext.WiremockResolver resolveParameter
INFO: Started wiremock server on localhost:35247
Oct 15, 2020 3:29:07 AM ru.lanwen.wiremock.ext.WiremockResolver afterEach
INFO: Stopping wiremock server on localhost:35247
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.AbstractConnector doStop
INFO: Stopped NetworkTrafficServerConnector@5c77053b{HTTP/1.1}{0.0.0.0:0}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@5769e7ae{/,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.server.handler.ContextHandler doStop
INFO: Stopped o.e.j.s.ServletContextHandler@41394595{/__admin,null,UNAVAILABLE}
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1443173326{STOPPING,8<=8<=14,i=7,q=6} Couldn't stop Thread[qtp1443173326-111,5,main]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1443173326{STOPPING,8<=8<=14,i=4,q=5} Couldn't stop Thread[qtp1443173326-112,5,]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1443173326{STOPPING,8<=8<=14,i=1,q=3} Couldn't stop Thread[qtp1443173326-102,5,]
Oct 15, 2020 3:29:07 AM org.eclipse.jetty.util.thread.QueuedThreadPool doStop
WARNING: qtp1443173326{STOPPING,8<=8<=14,i=0,q=2} Couldn't stop Thread[qtp1443173326-103,5,]
[ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.207 s <<< FAILURE! - in net.coru.kloadgen.processor.AvroSchemaProcessorTest
[ERROR] textAvroSchemaProcessorArrayMap{WireMockServer}  Time elapsed: 0.101 s  <<< FAILURE!
java.lang.AssertionError:

Expecting:
 <[{"IxFj"="Adrb", "n"="1", "t"="2"},
    {"epyO"="IjOQ", "n"="1", "t"="2"},
    {"n"="1", "oeIy"="YaJc", "t"="2"},
    {"LpPf"="LAeM", "n"="1", "t"="2"}]>
to contain:
 <[{"n"="1", "t"="2"}, {"n"="1", "t"="2"}]>
but could not find:
 <[{"n"="1", "t"="2"}]>

	at net.coru.kloadgen.processor.AvroSchemaProcessorTest.textAvroSchemaProcessorArrayMap(AvroSchemaProcessorTest.java:110)

[INFO] Running net.coru.kloadgen.util.AvroRandomToolTest
[INFO] Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 s - in net.coru.kloadgen.util.AvroRandomToolTest
[INFO] Running net.coru.kloadgen.util.RandomToolTest
[INFO] Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.073 s - in net.coru.kloadgen.util.RandomToolTest
[INFO] Running net.coru.kloadgen.util.StatelessRandomToolTest
[INFO] Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 s - in net.coru.kloadgen.util.StatelessRandomToolTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   AvroSchemaProcessorTest.textAvroSchemaProcessorArrayMap:110
Expecting:
 <[{"IxFj"="Adrb", "n"="1", "t"="2"},
    {"epyO"="IjOQ", "n"="1", "t"="2"},
    {"n"="1", "oeIy"="YaJc", "t"="2"},
    {"LpPf"="LAeM", "n"="1", "t"="2"}]>
to contain:
 <[{"n"="1", "t"="2"}, {"n"="1", "t"="2"}]>
but could not find:
 <[{"n"="1", "t"="2"}]>

[INFO]
[ERROR] Tests run: 108, Failures: 1, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.858 s
[INFO] Finished at: 2020-10-15T03:29:08+00:00
[INFO] Final Memory: 40M/644M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project kloadgen: There are test failures.
[ERROR]
[ERROR] Please refer to /code/kloadgen/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project kloadgen: There are test failures.

Please refer to /code/kloadgen/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: There are test failures.

Please refer to /code/kloadgen/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
	at org.apache.maven.plugin.surefire.SurefireHelper.throwException(SurefireHelper.java:289)
	at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution(SurefireHelper.java:161)
	at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary(SurefirePlugin.java:364)
	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1041)
	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee
that is right, my apologize. A last minute change fixing the bug and that test remain unchanged. Now it should build ok. At least for me it's building.
Answering a previous question you made, I tested with jmeter 5.3 and I haven't any problem. I'm also building with Java 8+ and no complains so far.
My apologizes for the failing build.
Cheers!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for fixing the test, I am able to compile it successfully 🎉 👍

I have tested & verified the below:

  1. Kafka messages can be successfully generated with these field types:
  • string-map
  • string-array
  • string-map-array
  1. variable substitution with preprocessor is working fine.

Thanks a lot for your help & great work 🙏 👍

But I have a minor request here, related to schema's subject name registered with schema registry.

Below are some details for my test case:

  1. Kafka Load Generator Config
    kafka_load_generator_config

Note that I'm loading the existing schema from schema registry. The schema subject name is test-10-value.

  1. Java Request using ConfluentKafkaSampler
    java_request_ConfluentKafkaSampler

Note my setting:

kafka.topic.name :  test-10
auto.register.schemas :  true

If auto.register.schemas is set to false, it throws error:

2020-10-16 22:42:23,175 ERROR n.c.k.s.ConfluentKafkaSampler: Failed to send message
org.apache.kafka.common.errors.SerializationException: Error retrieving Avro schema: {"type":"record","name":"click","fields":[{"name":"mapOfString","type":["null",{"type":"map","values":["null","string"]}],"default":null},{"name":"arrayOfString","type":["null",{"type":"array","items":"string"}],"default":null},{"name":"arrayOfMap","type":["null",{"type":"array","items":{"type":"map","values":["null","string"]}}],"default":null}]}
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Subject not found.; error code: 40401
	at io.confluent.kafka.schemaregistry.client.rest.RestService.sendHttpRequest(RestService.java:230) ~[kloadgen-plugin-2.1.3.jar:?]
  1. My AVRO schema
    test-10.avsc.txt

Note that the schema name is click.

When Test is started, my schema registry server's log shows:

[2020-10-16 13:34:02,020] INFO 172.18.0.1 - - [16/Oct/2020:13:34:02 +0000] "GET /subjects/test-10-value/versions/latest HTTP/1.1" 200 481  4 (io.confluent.rest-utils.requests)
[2020-10-16 13:34:02,032] INFO 172.18.0.1 - - [16/Oct/2020:13:34:02 +0000] "GET /schemas/ids/2 HTTP/1.1" 200 436  4 (io.confluent.rest-utils.requests)
[2020-10-16 13:34:02,259] INFO 172.18.0.1 - - [16/Oct/2020:13:34:02 +0000] "POST /subjects/test-10-click/versions HTTP/1.1" 200 8  28 (io.confluent.rest-utils.requests)

Seems like your program is trying to register a new schema with schema registry, with subject name = test-10-click. I guess the subject name is auto-generated with:

${kafka_topic_name} + '-' + ${AVRO_schema_name}

Instead of registering with this auto generated subject name:

  1. Can it follow the original subject name, as loaded from schema registry? In my case, it will be test-10-value.

  2. Or can you provide an option to set the Subject Name to register the schema with schema registry?

The reason is I would like to reuse back the existing schema in schema registry, instead of creating new schema for JMeter test.

Thanks again for help & sorry for the trouble 🙏

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze

Please ignore my request above. I realised that the schema subject name can be configured via value.subject.name.strategy.
The default is set to io.confluent.kafka.serializers.subject.TopicRecordNameStrategy. After configuring it as below, my issue is resolved.

value.subject.name.strategy :  io.confluent.kafka.serializers.subject.TopicNameStrategy

My bad, sorry for the confusing request above, please ignore it 🙏

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee ,
No worries, glad you managed to solve the issue.
Just was close to answer about the different configuration properties and the two other samplers, we have.
But if you are happy now I'm happy too.
Mean that you approve the changes?
Cheers and happy weekend.

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze

Millions thanks for providing this awesome plugin, appreciate your great work 🙏

I thought I will just raise few minor issues I came across during testing. Maybe it helps in your troubleshooting.

  1. For string-map field type, setting the map size inside [] sometimes gives the wrong size in result.
    Setting mapOfString[5] -> but the result shows 4 key-value pairs.

kafka_load_generator_config_string-map_wrong_size

result:

{"mapOfString": {"map": {"k3": {"string": "v3"}, "k1": {"string": "v1"}, "k2": {"string": "v2"}, "cBrbD": {"string": "NzRri"}}}, "arrayOfString": {"array": ["NIjSpRIFUq", "fgIWKJJhDWW"]}, "arrayOfMap": {"array": [{"H": {"string": "Q"}}]}}

string-map_wrong_size

  1. In java request, with ConfluentKafkaSampler, the last config auto.register.schemas always appear duplicated. I have deleted the duplicated line manually, but it appears back after switching between views.

java_request_last_config_duplicate

  1. In Kafka Load Generator Config, when trying to set Field Length for these field types:
string
boolean
int
long
string-map
string-array
string-map-array

it takes no effect. Afterwards, further UI interaction (clicking) inside Kafka Load Generator Config throws similar error:

2020-10-17 13:02:21,625 ERROR o.a.j.r.Functor: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
java.lang.Throwable: null
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:255) [jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) [jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) [jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) [?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) [?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) [?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) [darklaf-core-2.1.1.jar:2.1.1]
	at javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultCellEditor.java:385) [?:1.8.0_131]
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508) [?:1.8.0_131]
	at javax.swing.JTextField.postActionEvent(JTextField.java:721) [?:1.8.0_131]
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836) [?:1.8.0_131]
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663) [?:1.8.0_131]
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882) [?:1.8.0_131]
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2929) [?:1.8.0_131]
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845) [?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6310) [?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) [?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771) [?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4760) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) [?:1.8.0_131]
	at java.awt.Window.dispatchEventImpl(Window.java:2746) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) [?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]
2020-10-17 13:02:21,632 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]
org.apache.jorphan.util.JMeterError: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:256) ~[jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) ~[jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) ~[jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) ~[?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) ~[?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) ~[?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) ~[darklaf-core-2.1.1.jar:2.1.1]
	at javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultCellEditor.java:385) ~[?:1.8.0_131]
	at javax.swing.JTextField.fireActionPerformed(JTextField.java:508) ~[?:1.8.0_131]
	at javax.swing.JTextField.postActionEvent(JTextField.java:721) ~[?:1.8.0_131]
	at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836) ~[?:1.8.0_131]
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663) ~[?:1.8.0_131]
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882) ~[?:1.8.0_131]
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2929) ~[?:1.8.0_131]
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845) ~[?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6310) ~[?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4760) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_131]
	at java.awt.Window.dispatchEventImpl(Window.java:2746) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]
2020-10-17 13:02:25,421 ERROR o.a.j.r.Functor: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
java.lang.Throwable: null
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:255) [jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) [jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) [jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) [?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) [?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) [?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) [?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) [darklaf-core-2.1.1.jar:2.1.1]
	at org.apache.jmeter.testbeans.gui.TableEditor.focusLost(TableEditor.java:289) [ApacheJMeter_core.jar:5.3]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:230) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) [?:1.8.0_131]
	at java.awt.Component.processFocusEvent(Component.java:6425) [?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6289) [?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) [?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:995) [?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661) [?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4760) [?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) [?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) [?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) [?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) [?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) [?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]
2020-10-17 13:02:25,422 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]
org.apache.jorphan.util.JMeterError: Can't find method net.coru.kloadgen.model.FieldValueMapping#setValueLength(java.lang.String)
	at org.apache.jorphan.reflect.Functor.doInvoke(Functor.java:256) ~[jorphan.jar:5.3]
	at org.apache.jorphan.reflect.Functor.invoke(Functor.java:322) ~[jorphan.jar:5.3]
	at org.apache.jorphan.gui.ObjectTableModel.setValueAt(ObjectTableModel.java:224) ~[jorphan.jar:5.3]
	at javax.swing.JTable.setValueAt(JTable.java:2741) ~[?:1.8.0_131]
	at javax.swing.JTable.editingStopped(JTable.java:4723) ~[?:1.8.0_131]
	at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) ~[?:1.8.0_131]
	at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) ~[?:1.8.0_131]
	at com.github.weisj.darklaf.ui.table.DarkTableCellEditor.stopCellEditing(DarkTableCellEditor.java:222) ~[darklaf-core-2.1.1.jar:2.1.1]
	at org.apache.jmeter.testbeans.gui.TableEditor.focusLost(TableEditor.java:289) ~[ApacheJMeter_core.jar:5.3]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:230) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229) ~[?:1.8.0_131]
	at java.awt.Component.processFocusEvent(Component.java:6425) ~[?:1.8.0_131]
	at java.awt.Component.processEvent(Component.java:6289) ~[?:1.8.0_131]
	at java.awt.Container.processEvent(Container.java:2236) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4889) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:995) ~[?:1.8.0_131]
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEventImpl(Component.java:4760) ~[?:1.8.0_131]
	at java.awt.Container.dispatchEventImpl(Container.java:2294) ~[?:1.8.0_131]
	at java.awt.Component.dispatchEvent(Component.java:4711) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_131]
	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_131]
	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_131]
	at java.awt.EventQueue$4.run(EventQueue.java:729) ~[?:1.8.0_131]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_131]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_131]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_131]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_131]

Thanks again for the sharing this awesome plugin 🎉 👍

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

HI @shuwnyuantee,

Really thank you for your feedback!! I appreciate it a lot.
I'll to fixit asasp.

Cheers!!

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

Hi @shuwnyuantee,
I was able to reproduce and fix all the issues but the list one. I'm not able to reproduce it. I tried with several avros, big/small and different types, string, int, log, string-map, string-map-array.. and I could get that error you said.
Can you please tell me what jvm are you using?
Cheers!

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze Thanks for looking into this.

Sorry, which issue you said you can't reproduce? Is it the last one with Field Length error?

I'm running JMeter 5.3 on Mac, with your plugin version 2.1.3. Here's my Java version:

guest2@shuwnyuan-MacBook-Pro:~$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

from kloadgen.

kszosze avatar kszosze commented on July 22, 2024

hi @shuwnyuantee,
I think I deal with all the issues.
Last one the field lenght error was cause by the version of JMeter, we had the 5.2.2 in the code and you were using the 5.3. Looks something change between versions.
But last changes in the branch should solve it.
Can you please try it?
cheers

from kloadgen.

shuwnyuantee avatar shuwnyuantee commented on July 22, 2024

@kszosze , sorry for my late reply.

I find the below issues are solved.

  • In java request, with ConfluentKafkaSampler, the last config of auto.register.schemas no longer appears duplicated.

  • When trying to set Field Length, it no longer throws error.

Thanks & appreciate your great help 🙏 🎉

from kloadgen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.