I see that KafkaManager.releaseSub() is passed a timeout of 0 at runtime, which is not very useful. How is this actually supposed to be used? How can you make it get something else than 0?
On Wed, Sep 28, 2016 at 5:33 PM, Mikael Ståldal <[email protected]> wrote: > We have already discussed this here: https://issues.apache. > org/jira/browse/LOG4J2-1390 > > I don't think the release process is the right occasion to reopen this > discussion. Can we please keep the Kafka 0.8 compatibility for this > release, and then possibly reopen this discussion after the release (and > possibly changing it for the 2.8 release)? > > On Wed, Sep 28, 2016 at 5:24 PM, Gary Gregory <[email protected]> > wrote: > >> On Wed, Sep 28, 2016 at 8:13 AM, Mikael Ståldal < >> [email protected]> wrote: >> >>> Kafka server 0.8 is still in use, and newer Kafka clients cannot connect >>> to older Kafka servers. >>> >> >> There will always be users of old software. That does not mean that new >> versions of Log4j must support old software, especially pre-1.0 software. >> >> Gary >> >> >>> >>> On Wed, Sep 28, 2016 at 5:10 PM, Gary Gregory <[email protected]> >>> wrote: >>> >>>> I do not think it makes sense to support old versions that are not even >>>> 1.0. >>>> >>>> Gary >>>> >>>> On Wed, Sep 28, 2016 at 7:42 AM, Mikael Ståldal < >>>> [email protected]> wrote: >>>> >>>>> I fixed the Kafka issue and pushed it to master branch. >>>>> >>>>> However, I have another concern, what timeout value is actually passed >>>>> in to AbstractManager.releaseSub ? >>>>> >>>>> On Wed, Sep 28, 2016 at 3:51 PM, Mikael Ståldal < >>>>> [email protected]> wrote: >>>>> >>>>>> -1 since the Kafka appender now only works with Kafka client (and >>>>>> thus server) 0.9+, even though we agreed to keep compatibility with 0.8 >>>>>> for >>>>>> the time being: >>>>>> >>>>>> https://issues.apache.org/jira/browse/LOG4J2-1390 >>>>>> >>>>>> The problem appeared with commit 170469514b374eb5a5a33bde6936162fd608f097 >>>>>> by Gary in KafkaManager.java (method releaseSub). >>>>>> >>>>>> I get this error with kafka-clients 0.8.2.2: >>>>>> >>>>>> java.lang.NoSuchMethodError: org.apache.kafka.clients.produ >>>>>> cer.Producer.close(JLjava/util/concurrent/TimeUnit;)V >>>>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManage >>>>>> r.releaseSub(KafkaManager.java:61) >>>>>> at org.apache.logging.log4j.core.appender.AbstractManager.stop( >>>>>> AbstractManager.java:85) >>>>>> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppend >>>>>> er.stop(KafkaAppender.java:107) >>>>>> at org.apache.logging.log4j.core.config.AbstractConfiguration.s >>>>>> top(AbstractConfiguration.java:349) >>>>>> at org.apache.logging.log4j.core.LoggerContext.stop(LoggerConte >>>>>> xt.java:329) >>>>>> at org.apache.logging.log4j.core.AbstractLifeCycle.stop(Abstrac >>>>>> tLifeCycle.java:127) >>>>>> at org.apache.logging.log4j.core.LoggerContext$1.run(LoggerCont >>>>>> ext.java:275) >>>>>> at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRe >>>>>> gistry$RegisteredCancellable.run(DefaultShutdownCallbackRegi >>>>>> stry.java:104) >>>>>> at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRe >>>>>> gistry.run(DefaultShutdownCallbackRegistry.java:74) >>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Sep 26, 2016 at 5:50 PM, Ralph Goers < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> This is a vote to release Log4j 2.6.2, the next version of the Log4j >>>>>>> 2 project. >>>>>>> >>>>>>> Please download, test, and cast your votes on the log4j developers >>>>>>> list. >>>>>>> [] +1, release the artifacts >>>>>>> [] -1, don't release because... >>>>>>> >>>>>>> The vote will remain open for 72 hours (or more if required). All >>>>>>> votes are welcome and we encourage everyone to test the release, but >>>>>>> only >>>>>>> Logging PMC votes are “officially” counted. As always, at least 3 +1 >>>>>>> votes >>>>>>> and more positive than negative votes are required. >>>>>>> >>>>>>> Changes in this version include: >>>>>>> >>>>>>> New features: >>>>>>> o LOG4J2-1578: RoutingAppender can be configured with scripts. Add >>>>>>> Script in a Routes element. >>>>>>> o LOG4J2-1597: Add a ScriptAppenderSelector to create an Appender >>>>>>> specified by a Script. >>>>>>> o LOG4J2-1349: (GC) Added support for garbage-free ThreadContext map. >>>>>>> Disabled by default, users need to enable this explicitly. >>>>>>> o LOG4J2-1447: (GC) Changed LogEvent's internal data structure for >>>>>>> context data to be garbage-free. Added method >>>>>>> LogEvent#getContextData(), deprecated method #getContextMap(). >>>>>>> o LOG4J2-1010: Users can now inject context data from other sources >>>>>>> than ThreadContext. Values can be any Object, not just Strings. Thanks >>>>>>> to Mikael Ståldal. >>>>>>> o LOG4J2-1568: Added support for >>>>>>> java.util.concurrent.LinkedTransferQueue to AsyncAppender. >>>>>>> o LOG4J2-1430: Added optional support for Conversant >>>>>>> DisruptorBlockingQueue in AsyncAppender. Thanks to John Cairns. >>>>>>> o LOG4J2-1439: Added optional support for JCTools MPSC bounded >>>>>>> lock-free queue in AsyncAppender. Thanks to Anthony Maire. >>>>>>> o LOG4J2-1558: SocketAppender now supports IO buffering. >>>>>>> o LOG4J2-1557: Add a Builder for the SocketAppender (deprecates >>>>>>> factory method). >>>>>>> o LOG4J2-1609: Add a Builder to ServletAppender and deprecate factory >>>>>>> method. >>>>>>> o LOG4J2-1553: AbstractManager now implements AutoCloseable. >>>>>>> o LOG4J2-1528: Added ability to generate Log4j 2-style XML >>>>>>> configuration file from ConfigurationBuilder. >>>>>>> o LOG4J2-1181: Added Logging API for Scala 2.10 and 2.11. >>>>>>> o LOG4J2-1512: Added options to exclude stack trace from JSON, XML and >>>>>>> YAML layouts. >>>>>>> o LOG4J2-1539: Added Core API Configurator.shutdown(LoggerContext, >>>>>>> long, TimeUnit). >>>>>>> o LOG4J2-1501: FileAppender is now able to create files on-demand. >>>>>>> o LOG4J2-1504: RollingFileAppender is now able to create files >>>>>>> on-demand. >>>>>>> o LOG4J2-1471: [PatternLayout] Add an ANSI option to %xThrowable. >>>>>>> o LOG4J2-1472: org.apache.logging.log4j.core.LoggerContext now >>>>>>> implements Closeable. >>>>>>> o LOG4J2-1458: [PatternLayout] Add an ANSI option to %message. >>>>>>> o LOG4J2-1505: Create a Builder for the FileAppender plugin to >>>>>>> facilitate adding attributes in the future. >>>>>>> o LOG4J2-1507: Allow Builders to be completely generic. >>>>>>> o LOG4J2-1508: Allow a Builder to subclass another Builder. >>>>>>> o LOG4J2-1516: Add ThreadContextMap2 interface supporting method >>>>>>> putAll(Map<String, String>). Thanks to Gary Gregory. >>>>>>> o LOG4J2-1519: Add ThreadContext.putAll(Map<String, String>). >>>>>>> o LOG4J2-1520: Add JUnit Rule implementations to manage the thread >>>>>>> context. >>>>>>> o LOG4J2-1547: The Core AbstractConfiguration now tracks its >>>>>>> LoggerContext and add Configuration.getLoggerContext(). >>>>>>> o LOG4J2-1540: The Core AbstractManager now tracks its LoggerContext. >>>>>>> o LOG4J2-1577: Add a Builder to the RoutingAppender and deprecate >>>>>>> factory method. >>>>>>> >>>>>>> Fixed Bugs: >>>>>>> o LOG4J2-1611: Improved performance of context data injector for web >>>>>>> applications to be on par with standalone applications. >>>>>>> o LOG4J2-1591: Introduced new interface LifeCycle2 with >>>>>>> stop(long,TimeUnit) method to avoid breaking backwards compatibility >>>>>>> with new Configurator.shutdown(LoggerContext, long, TimeUnit) API. >>>>>>> o LOG4J2-1590: Fixed issue with filters extending AbstractFilter that >>>>>>> did not override methods with unrolled varargs. >>>>>>> o LOG4J2-1583: Fixed scrambled log messages triggered by nested >>>>>>> logging from toString() method of a logging parameter object. Thanks to >>>>>>> Larry West. >>>>>>> o LOG4J2-1259: Log4j threads are no longer leaking on Tomcat shutdown. >>>>>>> Thanks to Misagh Moayyed, Steffen Offermann. >>>>>>> o LOG4J2-1051: When starting on Google App Engine, Interpolator now >>>>>>> suppresses the NoClassDefFoundError stack trace for the jvmrunargs >>>>>>> lookup. Thanks to Lukasz Lenart. >>>>>>> o LOG4J2-1582: When initializing on platforms where JMX is not >>>>>>> available, Interpolator component no longer prints stack trace for >>>>>>> warning messages. >>>>>>> o LOG4J2-1581: Unregistering JMX components no longer prints a stack >>>>>>> trace when the MBean has already been unregistered. >>>>>>> o LOG4J2-1313: Support Property values to be specified in >>>>>>> configuration as a value attribute as well as an element. Thanks to >>>>>>> Philipp Knobel, Leon Finker. >>>>>>> o LOG4J2-1575: (GC) LoggerConfig now stores configuration properties >>>>>>> in a List, not a Map to prevent creating temporary Iterator objects. >>>>>>> Added method LoggerConfig#getPropertyList(), deprecated method >>>>>>> #getProperties(). >>>>>>> o LOG4J2-1457: Fixed class loader deadlock when using async logging >>>>>>> and extended stack trace pattern. Thanks to Leon Finker. >>>>>>> o LOG4J2-1563: Fix to prevent Log4j 2.6.2 and higher from losing >>>>>>> exceptions when a security manager is present. Thanks to Jason Tedor. >>>>>>> o LOG4J2-1530: Fixed issue where LogEvent.getContextStack() returned >>>>>>> null. >>>>>>> o LOG4J2-1518: Prevent deadlock in Async Loggers when queue is full >>>>>>> and logged Object's toString() logs another message. Thanks to Leon >>>>>>> Finker. >>>>>>> o LOG4J2-1542: Prevent ArrayIndexOutOfBoundsException in >>>>>>> ParameterizedMessage.formatTo for single-char or empty messages. Thanks >>>>>>> to Rogério Lecarião Leite. >>>>>>> o LOG4J2-1549: Fixed issue where >>>>>>> AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to >>>>>>> includeLocation=true. Thanks to Jason Bedard. >>>>>>> o LOG4J2-1562: Prevent SocketAppender memory usage from growing >>>>>>> unbounded if it cannot connect to a server. >>>>>>> o LOG4J2-1559: Prevent NPE in Level.isInRange. Thanks to Andrey >>>>>>> Plotkin. >>>>>>> o LOG4J2-1511: DynamicThresholdFilter filtered incorrectly when params >>>>>>> were passed as individual arguments instead of varargs. Thanks to >>>>>>> Srikanth Surukuntu. >>>>>>> o LOG4J2-1548: [CronTriggeringPolicy] ConfigurationScheduler scheduled >>>>>>> the task infinitely after first fire. >>>>>>> o LOG4J2-1506: Log4j should not unregister JMX MBeans when >>>>>>> log4j2.disable.jmx property is true. Thanks to Johannes Schleger. >>>>>>> o LOG4J2-1490: Log4j2 should postpone creating log file until the >>>>>>> appender actually receives an event. Thanks to Krzysztof Taborski. >>>>>>> o LOG4J2-1320: Support loading custom plugins from jar files and >>>>>>> directories whose classpath entries use the "vfs" URL protocol. Thanks >>>>>>> to Paresh Varke, Pierrick Hymbert. >>>>>>> o LOG4J2-1541: Fix file handle resource leak in >>>>>>> XmlConfiguration.XmlConfiguration(ConfigurationSource). >>>>>>> o LOG4J2-1538: Prevent NPE when dynamically removing filters. Thanks >>>>>>> to Igor Karpov. >>>>>>> o LOG4J2-1532: Attributes were not merged properly in composite >>>>>>> configurations. >>>>>>> o LOG4J2-1529: Attributes were not merged properly in composite >>>>>>> configurations. Thanks to Sridevi Narra. >>>>>>> o LOG4J2-1527: Prevent NPE in RingBufferLogEvent.getFormattedMessage() >>>>>>> when used in web applications. Thanks to Jose Leon. >>>>>>> o LOG4J2-905: Added ability to disable (date) lookup completely for >>>>>>> compatibility with other libraries like Camel. Thanks to Moritz Löser. >>>>>>> o LOG4J2-1526: Added support for setting StatusLogger destination in >>>>>>> ConfigurationBuilder. >>>>>>> o LOG4J2-1448: Allow comma separated agents, host list to be passed to >>>>>>> FlumeAppender. Thanks to Keith Laban. >>>>>>> o LOG4J2-1500: Merging configurations failed with an NPE when >>>>>>> comparing Nodes with different attributes. Thanks to Jose Leon. >>>>>>> o LOG4J2-1482: Fixed improper header in CsvParameterLayout. Thanks to >>>>>>> Sumit Singhal. >>>>>>> o LOG4J2-1199: Documented that JVM Input Arguments Lookup (JMX) is not >>>>>>> available on Google App Engine. >>>>>>> o LOG4J2-1438: (GC) Added method getParameter() to ObjectMessage (and >>>>>>> ReusableObjectMessage). >>>>>>> o LOG4J2-1488: (GC) Fixed ISO8601 %date conversion pattern with a >>>>>>> period '.' separator for milliseconds is now garbage free. Thanks to >>>>>>> Richard Zschech. >>>>>>> o LOG4J2-1489: (GC) Fixed %date conversion patterns with a timezone >>>>>>> parameter are now garbage free. Thanks to Richard Zschech. >>>>>>> o LOG4J2-1279: Prevent NullPointerException in >>>>>>> FastDateParser$TimeZoneStrategy. Thanks to Tony Baines. >>>>>>> o LOG4J2-1341: (GC) HighlightConverter and StyleConverter are now >>>>>>> GC-free. Thanks to Richard Zschech. >>>>>>> o LOG4J2-1467: [OSGi] Fixed missing import package. Thanks to Ralf, >>>>>>> Gary Gregory. >>>>>>> o LOG4J2-351: [OSGi] Fixed wrong Fragment-Host in manifest files. >>>>>>> Thanks to Roland Weiglhofer. >>>>>>> o LOG4J2-1313: Properties declared in configuration can now have their >>>>>>> value either in the element body or in an attribute named "value". >>>>>>> Thanks to Philipp Knobel. >>>>>>> o LOG4J2-1235: >>>>>>> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not >>>>>>> working correctly. Thanks to Niranjan Rao, Sascha Scholz, Aleksey >>>>>>> Zvolinsky. >>>>>>> o LOG4J2-1502: Fixed issue where CsvParameterLayout and >>>>>>> CsvLogEventLayout inserted NUL characters if data starts with {, (, [ >>>>>>> or " Thanks to Sumit Singhal. >>>>>>> o LOG4J2-1573: Layout is no longer optional. Thanks to Steffen >>>>>>> Offermann. >>>>>>> o LOG4J2-1608: ServletAppender does not provide throwable object to >>>>>>> ServletContext. >>>>>>> o LOG4J2-1599: Prevent potential NPE in >>>>>>> org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder, >>>>>>> char[], int, Object[], int, int[]). >>>>>>> o LOG4J2-1600: Prevent potential NPE due to >>>>>>> org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[], >>>>>>> String, boolean, boolean, Configuration). >>>>>>> o LOG4J2-1601: Prevent potential NPE due to >>>>>>> org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript, >>>>>>> PatternMatch[], String, boolean, boolean, Configuration). >>>>>>> o LOG4J2-1602: Prevent potential NPE in >>>>>>> org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object) >>>>>>> when object is null. >>>>>>> o LOG4J2-1603: Redo hashCode() and equals() methods in >>>>>>> org.apache.logging.log4j.core.net.ssl classes. >>>>>>> o LOG4J2-1610: Add targetNamespace to log4j-config.xsd. GitHub #43. >>>>>>> Thanks to Shubhankar. >>>>>>> >>>>>>> Changes: >>>>>>> o LOG4J2-1604: Log4j2 TcpSocketServer in background. Thanks to Colin >>>>>>> Hillman. >>>>>>> o LOG4J2-1574: Allow the RollingFileAppender to use default pattern >>>>>>> layout. >>>>>>> o LOG4J2-1556: Custom Log4j threads now extend Log4jThread. >>>>>>> o LOG4J2-1605: Improve error messages for TcpSocketServer and >>>>>>> UdpSocketServer. >>>>>>> o LOG4J2-1458: Updated Jackson from 2.7.5 to 2.8.0. >>>>>>> o LOG4J2-1494: Updated Jackson from 2.8.0 to 2.8.1. >>>>>>> o LOG4J2-1569: Updated Jackson from 2.8.1 to 2.8.2. >>>>>>> o LOG4J2-1598: Updated Jackson from 2.8.2 to 2.8.3. >>>>>>> o LOG4J2-1495: Updated LMAX Disruptor from 3.3.4 to 3.3.5. >>>>>>> o LOG4J2-1496: Updated Kafka client from 0.9.1.0 to 0.10.0.0. >>>>>>> o LOG4J2-1533: Updated Kafka client from 0.10.0.0 to 0.10.0.1. >>>>>>> o LOG4J2-1487: Updated JMS test from ActiveMQ 5.13.3 to 5.13.4. >>>>>>> o LOG4J2-1551: Updated JMS test from ActiveMQ 5.13.4 to 5.14.0. >>>>>>> o LOG4J2-1543: Removed deprecated Core API >>>>>>> org.apache.logging.log4j.core.util.Constants.UTF_8. >>>>>>> o LOG4J2-1544: Removed deprecated Core API >>>>>>> org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String). >>>>>>> o LOG4J2-1545: Removed deprecated Web API >>>>>>> org.apache.logging.log4j.web.WebLookup.getServletContext(). >>>>>>> >>>>>>> Tag: >>>>>>> >>>>>>> >>>>>>> a) for a new copy do "git clone >>>>>>> https://git-wip-us.apache.org/repos/asf/logging-log4j2.git" and then >>>>>>> "git checkout tags/log4j-2.7-rc1” >>>>>>> b) for an existing working copy to “git pull” and then “git checkout >>>>>>> tags/log4j-2.7-rc1” >>>>>>> >>>>>>> Web Site: >>>>>>> <http://rgoers.github.io/log4j2-site/index.html>http://rgoers.github.io/log4j2-site/index.html >>>>>>> >>>>>>> Artifacts: >>>>>>> https://repository.apache.org/content/repositories/orgapachelogging-1021/ >>>>>>> >>>>>>> You may download all the artifacts by executing: >>>>>>> >>>>>>> wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate >>>>>>> https://repository.apache.org/content/repositories/orgapachelogging-1021/org/apache/logging/log4j/ >>>>>>> >>>>>>> Ralph >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> [image: MagineTV] >>>>>> >>>>>> *Mikael Ståldal* >>>>>> Senior software developer >>>>>> >>>>>> *Magine TV* >>>>>> [email protected] >>>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>>> >>>>>> Privileged and/or Confidential Information may be contained in this >>>>>> message. If you are not the addressee indicated in this message >>>>>> (or responsible for delivery of the message to such a person), you >>>>>> may not copy or deliver this message to anyone. In such case, >>>>>> you should destroy this message and kindly notify the sender by reply >>>>>> email. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> [image: MagineTV] >>>>> >>>>> *Mikael Ståldal* >>>>> Senior software developer >>>>> >>>>> *Magine TV* >>>>> [email protected] >>>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>>> >>>>> Privileged and/or Confidential Information may be contained in this >>>>> message. If you are not the addressee indicated in this message >>>>> (or responsible for delivery of the message to such a person), you may >>>>> not copy or deliver this message to anyone. In such case, >>>>> you should destroy this message and kindly notify the sender by reply >>>>> email. >>>>> >>>> >>>> >>>> >>>> -- >>>> E-Mail: [email protected] | [email protected] >>>> Java Persistence with Hibernate, Second Edition >>>> <http://www.manning.com/bauer3/> >>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>>> Spring Batch in Action <http://www.manning.com/templier/> >>>> Blog: http://garygregory.wordpress.com >>>> Home: http://garygregory.com/ >>>> Tweet! http://twitter.com/GaryGregory >>>> >>> >>> >>> >>> -- >>> [image: MagineTV] >>> >>> *Mikael Ståldal* >>> Senior software developer >>> >>> *Magine TV* >>> [email protected] >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> >>> Privileged and/or Confidential Information may be contained in this >>> message. If you are not the addressee indicated in this message >>> (or responsible for delivery of the message to such a person), you may >>> not copy or deliver this message to anyone. In such case, >>> you should destroy this message and kindly notify the sender by reply >>> email. >>> >> >> >> >> -- >> E-Mail: [email protected] | [email protected] >> Java Persistence with Hibernate, Second Edition >> <http://www.manning.com/bauer3/> >> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >> Spring Batch in Action <http://www.manning.com/templier/> >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory >> > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > [email protected] > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this > message. If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply > email. > -- [image: MagineTV] *Mikael Ståldal* Senior software developer *Magine TV* [email protected] Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com Privileged and/or Confidential Information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such a person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply email.
