Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Eventgen backfill with perdayvolume does not produce the proper volume #166

Closed
arctan5x opened this issue Apr 17, 2019 · 11 comments
Closed
Assignees
Labels
bug Malfunctioning Eventgen due to potential bug

Comments

@arctan5x
Copy link
Contributor

Describe the bug
Backfill with perdayvolume does not generate the proper amount of data. For example, if backfill is the past 7 days and perdayvolume is 30gb, it generates 49gb instead of 30*7=210gb.

To Reproduce
Steps to reproduce the behavior:

  1. Eventgen Conf
[server.log.samples]
perDayVolume = 30
index = main
backfill = -7d
source = server:eventgen
sourcetype = jboss:server:log
breaker = \d{2}:\d{2}:\d{2},\d{3}
token.0.token = \d{2}:\d{2}:\d{2}
token.0.replacementType = timestamp
token.0.replacement = %T
  1. Sample file
10:03:36,283 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 60) HQ221035: Live Server Obtained live lock
10:03:36,680 ERROR [org.hornetq.core.server] (ServerService Thread Pool -- 60) HQ224000: Failure in initialisation: java.lang.IllegalStateException: Container is down
    at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:690) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
    at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:345) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
    at org.jboss.as.messaging.jms.JMSService$3.activated(JMSService.java:138) [jboss-as-messaging-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at org.hornetq.core.server.impl.HornetQServerImpl.callActivateCallbacks(HornetQServerImpl.java:1395) [hornetq-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1627) [hornetq-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.hornetq.core.server.impl.HornetQServerImpl.access$1400(HornetQServerImpl.java:179) [hornetq-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.hornetq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation.run(HornetQServerImpl.java:2315) [hornetq-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:436) [hornetq-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:490) [hornetq-jms-server-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
    at org.jboss.as.messaging.jms.JMSService.doStart(JMSService.java:158) [jboss-as-messaging-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at org.jboss.as.messaging.jms.JMSService.access$000(JMSService.java:60) [jboss-as-messaging-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at org.jboss.as.messaging.jms.JMSService$1.run(JMSService.java:96) [jboss-as-messaging-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.2.Final-redhat-1.jar:2.1.2.Final-redhat-1]
10:03:36,711 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 60) HQ221001: HornetQ Server version 2.3.25.Final (2.3.x, 123) [8cd366d5-582f-11e5-b009-6bbac03e4937]
10:03:36,741 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 60) HQ221002: HornetQ Server version 2.3.25.Final (2.3.x, 123) [8cd366d5-582f-11e5-b009-6bbac03e4937] stopped
10:03:36,754 INFO  [org.jboss.as] (MSC service thread 1-6) JBAS015950: JBoss EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) stopped in 83043280ms
10:03:40,436 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.6.Final-redhat-1
10:03:41,004 INFO  [org.jboss.msc] (main) JBoss MSC version 1.1.5.Final-redhat-1
10:03:41,067 INFO  [org.jboss.as] (MSC service thread 1-6) JBAS015899: JBoss EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) starting
10:03:41,072 DEBUG [org.jboss.as.config] (MSC service thread 1-6) Configured system properties:
    [Standalone] =
    awt.toolkit = sun.lwawt.macosx.LWCToolkit
    file.encoding = UTF-8
    file.encoding.pkg = sun.io
    file.separator = /
    ftp.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
    gopherProxySet = false
    http.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
    java.awt.graphicsenv = sun.awt.CGraphicsEnvironment
    java.awt.headless = true
    java.awt.printerjob = sun.lwawt.macosx.CPrinterJob
    java.class.path = /Applications/jboss-eap-6.4/jboss-modules.jar
    java.class.version = 52.0
    java.endorsed.dirs = /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/endorsed
    java.ext.dirs = /Users/user1/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
    java.home = /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre
    java.io.tmpdir = /var/folders/bd/wyxjtmgn7zn8nh67bkxclbt40000gn/T/
    java.library.path = /Users/user1/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
    java.net.preferIPv4Stack = true
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 1.8.0_45-b14
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.8
    java.util.logging.manager = org.jboss.logmanager.LogManager
    java.vendor = Oracle Corporation
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.8.0_45
    java.vm.info = mixed mode
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.8
    java.vm.vendor = Oracle Corporation
    java.vm.version = 25.45-b02
    javax.management.builder.initial = org.jboss.as.jmx.PluggableMBeanServerBuilder
    javax.xml.datatype.DatatypeFactory = __redirected.__DatatypeFactory
    javax.xml.parsers.DocumentBuilderFactory = __redirected.__DocumentBuilderFactory
    javax.xml.parsers.SAXParserFactory = __redirected.__SAXParserFactory
    javax.xml.stream.XMLEventFactory = __redirected.__XMLEventFactory
    javax.xml.stream.XMLInputFactory = __redirected.__XMLInputFactory
    javax.xml.stream.XMLOutputFactory = __redirected.__XMLOutputFactory
    javax.xml.transform.TransformerFactory = __redirected.__TransformerFactory
    javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema = __redirected.__SchemaFactory
    javax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom = __redirected.__XPathFactory
    jboss.home.dir = /Applications/jboss-eap-6.4
    jboss.host.name = HOST-001
    jboss.modules.dir = /Applications/jboss-eap-6.4/modules
    jboss.modules.policy-permissions = true
    jboss.modules.system.pkgs = org.jboss.byteman
    jboss.node.name = NODE-001
    jboss.qualified.host.name = HOST-001
    jboss.server.base.dir = /Applications/jboss-eap-6.4/standalone
    jboss.server.config.dir = /Applications/jboss-eap-6.4/standalone/configuration
    jboss.server.data.dir = /Applications/jboss-eap-6.4/standalone/data
    jboss.server.deploy.dir = /Applications/jboss-eap-6.4/standalone/data/content
    jboss.server.log.dir = /Applications/jboss-eap-6.4/standalone/log
    jboss.server.name = SERVER-001
    jboss.server.persist.config = true
    jboss.server.temp.dir = /Applications/jboss-eap-6.4/standalone/tmp
    line.separator =
    logging.configuration = file:/Applications/jboss-eap-6.4/standalone/configuration/logging.properties
    module.path = /Applications/jboss-eap-6.4/modules
    org.jboss.boot.log.file = /Applications/jboss-eap-6.4/standalone/log/server.log
    org.jboss.resolver.warning = true
    org.xml.sax.driver = __redirected.__XMLReaderFactory
    os.arch = x86_64
    os.name = Mac OS X
    os.version = 10.10.5
    path.separator = :
    socksNonProxyHosts = local|*.local|169.254/16|*.169.254/16
    sun.arch.data.model = 64
    sun.boot.class.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/classes
    sun.boot.library.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib
    sun.cpu.endian = little
    sun.cpu.isalist =
    sun.io.unicode.encoding = UnicodeBig
    sun.java.command = /Applications/jboss-eap-6.4/jboss-modules.jar -mp /Applications/jboss-eap-6.4/modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone -Djboss.home.dir=/Applications/jboss-eap-6.4 -Djboss.server.base.dir=/Applications/jboss-eap-6.4/standalone -c standalone-full.xml
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = UTF-8
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level = unknown
    user.country = US
    user.dir = /Applications/jboss-eap-6.4/bin
    user.home = /Users/user1
    user.language = en
    user.name = user1
    user.timezone = Asia/Shanghai
10:03:41,073 DEBUG [org.jboss.as.config] (MSC service thread 1-6) VM Arguments: -D[Standalone] -XX:+UseCompressedOops -verbose:gc -Xloggc:/Applications/jboss-eap-6.4/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.modules.policy-permissions=true -Dorg.jboss.boot.log.file=/Applications/jboss-eap-6.4/standalone/log/server.log -Dlogging.configuration=file:/Applications/jboss-eap-6.4/standalone/configuration/logging.properties
10:03:41,979 INFO  [org.xnio] (MSC service thread 1-1) XNIO Version 3.0.13.GA-redhat-1
10:03:41,983 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
10:03:41,988 INFO  [org.xnio.nio] (MSC service thread 1-1) XNIO NIO Implementation Version 3.0.13.GA-redhat-1
10:03:42,011 INFO  [org.jboss.remoting] (MSC service thread 1-1) JBoss Remoting version 3.3.4.Final-redhat-1
10:03:42,028 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 56) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
10:03:42,031 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 37) JBAS010280: Activating Infinispan subsystem.
10:03:42,037 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 54) JBAS013371: Activating Security Subsystem
10:03:42,047 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 49) JBAS011800: Activating Naming Subsystem
10:03:42,050 INFO  [org.jboss.as.security] (MSC service thread 1-9) JBAS013370: Current PicketBox version=4.1.1.Final-redhat-1
10:03:42,051 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 45) JBAS012615: Activated the following JSF Implementations: [main, 1.2]
10:03:42,069 INFO  [org.jboss.as.jacorb] (ServerService Thread Pool -- 38) JBAS016300: Activating JacORB Subsystem
10:03:42,094 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 58) JBAS015537: Activating WebServices Extension
10:03:42,124 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-6) JBAS010408: Starting JCA Subsystem (IronJacamar 1.0.31.Final-redhat-1)
10:03:42,217 INFO  [org.jboss.as.naming] (MSC service thread 1-11) JBAS011802: Starting Naming Service
10:03:42,218 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-13) JBAS015400: Bound mail session [java:jboss/mail/Default]
10:03:42,238 INFO  [org.jboss.jaxr] (MSC service thread 1-16) JBAS014000: Started JAXR subsystem, binding JAXR connection factory into JNDI as: java:jboss/jaxr/ConnectionFactory
10:03:42,240 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 33) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
10:03:42,516 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-11) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8080
10:03:42,524 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-11) JBWEB003000: Coyote HTTP/1.1 starting on: http-/127.0.0.1:8080
10:03:42,561 INFO  [org.jboss.as.jacorb] (MSC service thread 1-15) JBAS016330: CORBA ORB Service started
10:03:42,621 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-8) JBAS015012: Started FileSystemDeploymen...

Expected behavior
Should output 30gb for each day.

Actual behavior
for the past 7 days, first 6 days don't even come close to the expected output. The last day peaks to produce more output.

Screenshots

Sample files and eventgen.conf file
Please attach your sample files and eventgen conf file

Do you run eventgen with SA-eventgen?
No

If you are using SA-Eventgen with Splunk (please complete the following information):
6.3.4

If you are using eventgen with pip module mode (please complete the following information):
eventgenx container through Orca

Additional context
Add any other context about the problem here.

@arctan5x arctan5x added the bug Malfunctioning Eventgen due to potential bug label Apr 17, 2019
@GordonWang GordonWang self-assigned this Apr 28, 2019
@GordonWang
Copy link
Contributor

can not reproduced with latest code.

@Yangxulight
Copy link
Contributor

@GordonWang
I just found a bug logic in eventgen_timmer.py line 149~155. Timer will skip the job when queue is full. So if the perdayvolume is very large and generator can't completed it, then the queue will become full and we will lost many data.
`

                    try:
                        self.generatorQueue.put(genPlugin)
                        self.executions += 1
                    except Full:
                        self.logger.warning("Generator Queue Full. Skipping current generation.")
                    backfillearliest = lt

`

@GordonWang
Copy link
Contributor

@GordonWang
I just found a bug logic in eventgen_timmer.py line 149~155. Timer will skip the job when queue is full. So if the perdayvolume is very large and generator can't completed it, then the queue will become full and we will lost many data.
`

                    try:
                        self.generatorQueue.put(genPlugin)
                        self.executions += 1
                    except Full:
                        self.logger.warning("Generator Queue Full. Skipping current generation.")
                    backfillearliest = lt

`

Nice catch!
I will fix this ASAP.

@YifengMao
Copy link
Contributor

i suppose there are two way to fix:

  • block on generatorQueue.put instead of catch Full and ignore
  • auto adjust interval when backfill is not done to a proper value(total backfill time / size of queue) and rollback it after backfill is done

i'll suggest the first one

@Yangxulight
Copy link
Contributor

Yangxulight commented Apr 30, 2019 via email

@lephino
Copy link
Contributor

lephino commented Apr 30, 2019

Not sure I understand, why would you block if it's full? We're overflowing our own queue, and it should drop and log / notify like it does now. Currently the backfill kicks off 1 generator for every interval, and shoves it into the queue, without any care of max queue size. The proper fix would be to lock the main timer thread and do a "while room in queue" to stick in the events, or, spawn another timer for the backfill with an end (and then block that thread with "while room in queue"). If there isn't enough room in the queue, just sit there until there is, and don't start the backfill interval, but this becomes blocking on the timer, and you're causing a different block. This could also cause other timers to not kick off and is crazy dangerous.

to the backfillearliest=et, isn't this the same as just not doing the backfill? Are you saying we should just reverse fill instead? Or are you saying, try backfill, if it fails, just skip to the "now" interval? However isn't the queue still full? What happens if that maxes the queue and then the next interval for the "live" data hits, it can't add it in? Right now, it just skips the first interval, and it causes the sleep for the interval timer, giving the queue time to empty a little before shoving in more events.

Maybe the solution is just simply allowing the queue to be larger? or manually configured queue length sizes? I just picked a pretty small number for the queue size to start, you could easily up it to 50k or something, it just might take longer for EG to stabilize.

@jmeixensperger
Copy link
Contributor

If we block when full, we'll encounter difficulties with locks on the timer, as Brian mentioned. I also don't think that skipping to now would be smart because it gives the user an inconsistent stream of events and could cause a lot of confusion over the meaning of backfill.
In my opinion, making the queue size larger will be the easiest solution, especially with our controller/server design that EG 6 is moving towards. With a single EG instance, users would only sacrifice delay between their events being created and indexed. But, users could always spin up more instances to reach consistent generation at the rate they need.

@GordonWang
Copy link
Contributor

Making the queue larger does not make any sense to me. What is the right "large" queue size? How does a customer know how large the queue size he should set for his workload? What if I want to generate backfill data for one month? even one year?
And I can not understand why blocking the queue and wait for the available slot not working. In this scenario, the workload is heavy enough to put as many generators as possible to the queue. Say, if there are multiple sample timers running, they are competing for the queue slot. If the backfill timer skip put item into the queue and generate another timer, still there are the same number of timers which are competing for the queue slot.
In this case, waiting for the available queue slot is the best choice, this is what customer needs.

GordonWang added a commit that referenced this issue May 5, 2019
@arctan5x
Copy link
Contributor Author

arctan5x commented May 5, 2019

I believe the discussion sort of leads to what philosophy you have towards user experience. My personal opinion is that there always will be a tipping point for unable to meet up with expectation for Eventgen. In this case, as Gordon mentioned, some value of "large" queue size won't solve the problem. I am fine with providing queue size as a parameter, because this allows some flexibility to the user and user's environment. Then, we should drop the upcoming backfill interval (without blocking timer) and log to the user because it is simply not the user's Eventgen that can handle. This is more of a "it is ok to fail, but fail safely" approach. User will notice that certain periods of backfill data are missing due to the configuration of Eventgen and will have to take an action. Eventgen's job should be trying its best to meet the rest of the demand without breaking.

I like the idea of waiting for the available queue, but afraid that this might cause threads to be blocked. If we can find a way to safely log backfill transactions that failed due to queue overfill, it would be a nice solution. Something similar to how DBs recover using transactions. How about write those transactions to a file or memory (if there is any resources left), and redo the failed transactions at later times such as when queue is empty or when we get to the current time? Once we get to the current time, backfill supposedly stops, so in many cases, will free up some queue spaces.

@lephino
Copy link
Contributor

lephino commented May 5, 2019

I think it's easy to sum of like so, "you asked me for 10 weeks of data, and "now"", how do you expect me to handle that you only have the resources to generate 1 week of data? Right now eventgen drops all the remaining backfill, and drops the current interval to give time for the queue to empty a bit. Increasing the queue size will let you get 2weeks of data instead of 1. Blocking the queue means you'll never get to "now" if the request is too large, and I don't think is a viable solution. If we really want to support an unlimted backfil, I think the backfill generators do need their own queue, and since it's always boundeded, that queue should be unlimited in size. It'll allow a user to also then set a number of processes to "backfill" that won't impact "now". That being said, i'm not sure backfilling in this style really is even remotely viable, nor does splunk handle backfill right. It's great for dashboards, but anything using summary indexing will miss events anyways, and it impacts datamodel searches negatively without letting the user know why. To put it bluntly, I don't mind having the feature if we have cpu's to spare, but once they're full, I think we should eject that backfill, and focus on meeting current requests.

@lephino
Copy link
Contributor

lephino commented May 5, 2019

Lets book a meeting on this, we need to discuss this in a forum better than text :P

GordonWang added a commit that referenced this issue May 14, 2019
@li-wu li-wu closed this as completed in cba971c Jun 5, 2019
li-wu added a commit that referenced this issue Jun 5, 2019
* Fix jinja template bug under SA-Eventgen app

* Feature timeMultiple (#141)

* Adjusting interval with timeMultiple

* Update issue templates

add the bug report and feature request issue templates

* changing the stanzas to produce data

* Windbag generator/count + end=0 edge cases (#145)

* Generator handling for count = -1, end = 0 working properly

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* [Docs] update contribute docs (#148)

* [Docs] update contribute docs

* [Docs] update the contribute

* Fix make docs bug and summary anchor link error

* init unittest

* [Build] add ut for timeparser functions

* Add more UT for config module

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* Update docs

* Post-PEP8 Fixes (#157)

* skip sort, gitignore 3rd party libs

* fixed yapf ignore, ran format across repo

* Issue 160 (#163)

* Fixed timer and token

* Added a conditional for end=-1

* Update eventgentimer.py

* Fixed timer and token (#162)

* add extendIndexes feature (#154)

* add extendIndexes feature

* set extendIndexes as a list value

* correct log level

* upate doc, change num to weight

* Test fix (#168)

* Add sample functional test for replay mode

* Add token replacement functional tests

* skip failed case

* Added a timeout

* created a results dir

* Update version.json

* Fix previous pep8 format regression bug (#171)

* Fix merge conflict bug

* Delete tool orca related part (#178)

* add test for jinja template test (#177)

* clean up the logic about sampleDir and jinja_template_dir setting
Add functional test for jinja template generator
Fixes #174
Fixes #167

* revert the change about token, sample mode test cases

* merge the change from develop branch

* merge test conf from develop branch

* use urllib 1.24.2

* format with pep8

* fix bug in template dir resolution

* update test case to address multiline event

* fix a issue that when setup eventgen with 200+ indexers, any exceptions will terminate setup and re-writing default configure files

* Fix bug #179 urlparams is not set (#181)

* fix issue-183

* add modinput ft (#185)

* Issue 159 (#186)

* Fixed timer and token

* Added a conditional for end=-1

* Added timeMultiple logic

* Time Multiple Fix

* Add default pull request reviewers (#190)

* Default to -1 (#189)

* Changed verbose -> verbosity (#191)

* Update README.md (#195)

Like other Splunk products - Splunk Enterprise Security, Splunk Business Workflow ... - Splunk Event Generator does not need a definitive article "The" before the product name.

* update doc for friendly reading and add backward capability section. (#193)

* Update index.md (#194)

Update index.md

* change the sampleDir setting in test cases (#196)

* return status=2 when all tasks finished. (#182)

* return status=2 when all tasks finished.

* Change release verion to 6.3.6 (#200)

* Change release verion to 6.3.6

* Fix flaky tests (#204)

* Fix flaky tests

* Rename modinput to mod_input to avoid functional test fail

* when hit an exception, make sure egx logs it to files

* Fix circleci status badges (#208)

* Clean up and interval error (#211)

* Fix generatorWorks not work issue (#207)

* Fix navigation error with installed with splunk stream (#214)

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* Add 3rd lib in app (#210)

* Add 3rd lib in app

* Bugfix/197 multiprocess not working (#218)

* Fix issue 197 multiprocess not working

* fix issue 219 (#220)

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* Add license credits (#222)

* Feature/multi indexes (#224)

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* add extendIndexes feature

* set extendIndexes as a list value

* upate doc, change num to weight

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* add python code style lint and format

* Add more unit tests for config module

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* fix no len dict out of range

* clean duplicate code

* Revert "Metrics output plugin" (#226)

* [issue 217]disable logging queue in multiprocess mode (#223)

* disable logging queue in multiprocess mode

* Fixed fileName (#229)

* Issue 201 (#221)

* Removing unavailable servers

* Removed nonresponding httpserver

* Added a counter

* fixed a bug

* Added docs and spec

* Addressing unused var

* fixing url reference

* fixed currentreadsize

* Httpevent str formatting

* fix #166 (#192)
li-wu added a commit that referenced this issue Jun 5, 2019
* Fix jinja template bug under SA-Eventgen app

* Feature timeMultiple (#141)

* Adjusting interval with timeMultiple

* Update issue templates

add the bug report and feature request issue templates

* changing the stanzas to produce data

* Windbag generator/count + end=0 edge cases (#145)

* Generator handling for count = -1, end = 0 working properly

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* [Docs] update contribute docs (#148)

* [Docs] update contribute docs

* [Docs] update the contribute

* Fix make docs bug and summary anchor link error

* init unittest

* [Build] add ut for timeparser functions

* Add more UT for config module

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* Update docs

* Post-PEP8 Fixes (#157)

* skip sort, gitignore 3rd party libs

* fixed yapf ignore, ran format across repo

* Issue 160 (#163)

* Fixed timer and token

* Added a conditional for end=-1

* Update eventgentimer.py

* Fixed timer and token (#162)

* add extendIndexes feature (#154)

* add extendIndexes feature

* set extendIndexes as a list value

* correct log level

* upate doc, change num to weight

* Test fix (#168)

* Add sample functional test for replay mode

* Add token replacement functional tests

* skip failed case

* Added a timeout

* created a results dir

* Update version.json

* Fix previous pep8 format regression bug (#171)

* Fix merge conflict bug

* Delete tool orca related part (#178)

* add test for jinja template test (#177)

* clean up the logic about sampleDir and jinja_template_dir setting
Add functional test for jinja template generator
Fixes #174
Fixes #167

* revert the change about token, sample mode test cases

* merge the change from develop branch

* merge test conf from develop branch

* use urllib 1.24.2

* format with pep8

* fix bug in template dir resolution

* update test case to address multiline event

* fix a issue that when setup eventgen with 200+ indexers, any exceptions will terminate setup and re-writing default configure files

* Fix bug #179 urlparams is not set (#181)

* fix issue-183

* add modinput ft (#185)

* Issue 159 (#186)

* Fixed timer and token

* Added a conditional for end=-1

* Added timeMultiple logic

* Time Multiple Fix

* Add default pull request reviewers (#190)

* Default to -1 (#189)

* Changed verbose -> verbosity (#191)

* Update README.md (#195)

Like other Splunk products - Splunk Enterprise Security, Splunk Business Workflow ... - Splunk Event Generator does not need a definitive article "The" before the product name.

* update doc for friendly reading and add backward capability section. (#193)

* Update index.md (#194)

Update index.md

* change the sampleDir setting in test cases (#196)

* return status=2 when all tasks finished. (#182)

* return status=2 when all tasks finished.

* Change release verion to 6.3.6 (#200)

* Change release verion to 6.3.6

* Fix flaky tests (#204)

* Fix flaky tests

* Rename modinput to mod_input to avoid functional test fail

* when hit an exception, make sure egx logs it to files

* Fix circleci status badges (#208)

* Clean up and interval error (#211)

* Fix generatorWorks not work issue (#207)

* Fix navigation error with installed with splunk stream (#214)

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* Add 3rd lib in app (#210)

* Add 3rd lib in app

* Bugfix/197 multiprocess not working (#218)

* Fix issue 197 multiprocess not working

* fix issue 219 (#220)

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* Add license credits (#222)

* Feature/multi indexes (#224)

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* add extendIndexes feature

* set extendIndexes as a list value

* upate doc, change num to weight

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* add python code style lint and format

* Add more unit tests for config module

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* fix no len dict out of range

* clean duplicate code

* Revert "Metrics output plugin" (#226)

* [issue 217]disable logging queue in multiprocess mode (#223)

* disable logging queue in multiprocess mode

* Fixed fileName (#229)

* Issue 201 (#221)

* Removing unavailable servers

* Removed nonresponding httpserver

* Added a counter

* fixed a bug

* Added docs and spec

* Addressing unused var

* fixing url reference

* fixed currentreadsize

* Httpevent str formatting

* fix #166 (#192)

* Change release version to 6.4.0 and add release notes (#232)
li-wu added a commit that referenced this issue Jun 5, 2019
* Fix jinja template bug under SA-Eventgen app

* Feature timeMultiple (#141)

* Adjusting interval with timeMultiple

* Update issue templates

add the bug report and feature request issue templates

* changing the stanzas to produce data

* Windbag generator/count + end=0 edge cases (#145)

* Generator handling for count = -1, end = 0 working properly

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* [Docs] update contribute docs (#148)

* [Docs] update contribute docs

* [Docs] update the contribute

* Fix make docs bug and summary anchor link error

* init unittest

* [Build] add ut for timeparser functions

* Add more UT for config module

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* Update docs

* Post-PEP8 Fixes (#157)

* skip sort, gitignore 3rd party libs

* fixed yapf ignore, ran format across repo

* Issue 160 (#163)

* Fixed timer and token

* Added a conditional for end=-1

* Update eventgentimer.py

* Fixed timer and token (#162)

* add extendIndexes feature (#154)

* add extendIndexes feature

* set extendIndexes as a list value

* correct log level

* upate doc, change num to weight

* Test fix (#168)

* Add sample functional test for replay mode

* Add token replacement functional tests

* skip failed case

* Added a timeout

* created a results dir

* Update version.json

* Fix previous pep8 format regression bug (#171)

* Fix merge conflict bug

* Delete tool orca related part (#178)

* add test for jinja template test (#177)

* clean up the logic about sampleDir and jinja_template_dir setting
Add functional test for jinja template generator
Fixes #174
Fixes #167

* revert the change about token, sample mode test cases

* merge the change from develop branch

* merge test conf from develop branch

* use urllib 1.24.2

* format with pep8

* fix bug in template dir resolution

* update test case to address multiline event

* fix a issue that when setup eventgen with 200+ indexers, any exceptions will terminate setup and re-writing default configure files

* Fix bug #179 urlparams is not set (#181)

* fix issue-183

* add modinput ft (#185)

* Issue 159 (#186)

* Fixed timer and token

* Added a conditional for end=-1

* Added timeMultiple logic

* Time Multiple Fix

* Add default pull request reviewers (#190)

* Default to -1 (#189)

* Changed verbose -> verbosity (#191)

* Update README.md (#195)

Like other Splunk products - Splunk Enterprise Security, Splunk Business Workflow ... - Splunk Event Generator does not need a definitive article "The" before the product name.

* update doc for friendly reading and add backward capability section. (#193)

* Update index.md (#194)

Update index.md

* change the sampleDir setting in test cases (#196)

* return status=2 when all tasks finished. (#182)

* return status=2 when all tasks finished.

* Change release verion to 6.3.6 (#200)

* Change release verion to 6.3.6

* Fix flaky tests (#204)

* Fix flaky tests

* Rename modinput to mod_input to avoid functional test fail

* when hit an exception, make sure egx logs it to files

* Fix circleci status badges (#208)

* Clean up and interval error (#211)

* Fix generatorWorks not work issue (#207)

* Fix navigation error with installed with splunk stream (#214)

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* Add 3rd lib in app (#210)

* Add 3rd lib in app

* Bugfix/197 multiprocess not working (#218)

* Fix issue 197 multiprocess not working

* fix issue 219 (#220)

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* add metric_httpevent plugin

* update log content in metric_httpevent

* add doc for metric_httpevent

* define httpevent_core and add fix eventgen-httpeventout log handler

* restore samples file

* restore unit test file

* Add license credits (#222)

* Feature/multi indexes (#224)

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* Bump version

* add python code style lint and format

* Add more unit tests for config module

* Pep8 (#151)

* Format to code standards, addressed linter errors/warnings

* add extendIndexes feature

* set extendIndexes as a list value

* upate doc, change num to weight

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* Fix jinja template bug under SA-Eventgen app

* Update docs (#146)

* Updated docs, added release notes to changelog

* add python code style lint and format

* Add more unit tests for config module

* calculate generate rate and use sequential index replacement

* update dockerfile

* randomize index replacement in each batch

* fix no len dict out of range

* clean duplicate code

* Revert "Metrics output plugin" (#226)

* [issue 217]disable logging queue in multiprocess mode (#223)

* disable logging queue in multiprocess mode

* Fixed fileName (#229)

* Issue 201 (#221)

* Removing unavailable servers

* Removed nonresponding httpserver

* Added a counter

* fixed a bug

* Added docs and spec

* Addressing unused var

* fixing url reference

* fixed currentreadsize

* Httpevent str formatting

* fix #166 (#192)

* Change release version to 6.4.0 and add release notes (#232)

* fix modinput init error (#234)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Malfunctioning Eventgen due to potential bug
Projects
None yet
Development

No branches or pull requests

7 participants