Bug report for Taglibs [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|38193|Ass|Enh|2006-01-09|[RDC] BuiltIn Grammar support for Field   |
|38600|Ass|Enh|2006-02-10|[RDC] Enable RDCs to be used in X+V markup (X+RDC)|
|42413|New|Enh|2007-05-14|[PATCH] Log Taglib enhancements   |
|46052|New|Nor|2008-10-21|SetLocaleSupport is slow to initialize when many l|
|48333|New|Enh|2009-12-02|TLD generator |
|57548|New|Min|2015-02-08|Auto-generate the value for org.apache.taglibs.sta|
|57684|New|Min|2015-03-10|Version info should be taken from project version |
|59359|New|Enh|2016-04-20|(Task) Extend validity period for signing KEY - be|
|59668|New|Nor|2016-06-06|x:forEach retains the incorrect scope when used in|
|61875|New|Nor|2017-12-08|Investigate whether Xalan can be removed  |
|64649|New|Nor|2020-08-06|XSLT transformation - document('') doesn't return |
+-+---+---+--+--+
| Total   11 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat Connectors [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|46767|New|Enh|2009-02-25|mod_jk to send DECLINED in case no fail-over tomca|
|47327|New|Enh|2009-06-07|Return tomcat authenticated user back to mod_jk (A|
|47750|New|Maj|2009-08-27|ISAPI: Loss of worker settings when changing via j|
|48830|New|Nor|2010-03-01|IIS shutdown blocked in endpoint service when serv|
|49822|New|Enh|2010-08-25|Add hash lb worker method |
|49903|New|Enh|2010-09-09|Make workers file reloadable  |
|52483|New|Enh|2012-01-18|Print JkOptions's options in log file and jkstatus|
|54621|New|Enh|2013-02-28|[PATCH] custom mod_jk availability checks |
|56489|New|Enh|2014-05-05|Include a directory for configuration files   |
|56576|New|Enh|2014-05-29|Websocket support |
|57402|New|Enh|2014-12-30|Provide correlation ID between mod_jk log and acce|
|57403|New|Enh|2014-12-30|Persist configuration changes made via status work|
|57407|New|Enh|2014-12-31|Make session_cookie, session_path and session_cook|
|57790|New|Enh|2015-04-03|Check worker names for typos  |
|61476|New|Enh|2017-09-01|Allow reset of an individual worker stat value|
|61621|New|Enh|2017-10-15|Content-Type is forced to lowercase when it goes t|
|62093|New|Enh|2018-02-09|Allow use_server_errors to apply to specific statu|
|63808|Opn|Enh|2019-10-05|the fact that JkMount makes other directives ineff|
+-+---+---+--+--+
| Total   18 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat 9 [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|57505|New|Enh|2015-01-27|Add integration tests for JspC|
|58530|New|Enh|2015-10-23|Proposal for new Manager HTML GUI |
|58548|Inf|Enh|2015-10-26|support certifcate transparency   |
|58859|New|Enh|2016-01-14|Allow to limit charsets / encodings supported by T|
|59344|Ver|Enh|2016-04-18|PEM file support for JSSE |
|59750|New|Enh|2016-06-24|Amend "authenticate" method with context by means |
|60997|New|Enh|2017-04-17|Enhance SemaphoreValve to support denied status an|
|61971|New|Enh|2018-01-06|documentation for using tomcat with systemd   |
|62048|New|Enh|2018-01-25|Missing logout function in Manager and Host-Manage|
|62072|New|Enh|2018-02-01|Add support for request compression   |
|62312|New|Enh|2018-04-18|Add Proxy Authentication support to websocket clie|
|62405|New|Enh|2018-05-23|Add Rereadable Request Filter |
|62488|New|Enh|2018-06-25|Obtain dependencies from Maven Central where possi|
|62611|Inf|Enh|2018-08-09|Compress log files after rotation |
|62695|Inf|Nor|2018-09-07|Provide sha512 checksums for Tomcat releases publi|
|62723|New|Enh|2018-09-14|Clarify "channelSendOptions" value in cluster docu|
|62773|New|Enh|2018-09-28|Change DeltaManager to handle session deserializat|
|62814|New|Enh|2018-10-10|Use readable names for cluster channel/map options|
|62843|New|Enh|2018-10-22|Tomcat Russian localization   |
|62964|Inf|Enh|2018-11-29|Add RFC7807 conformant Problem Details for HTTP st|
|63023|New|Enh|2018-12-20|Provide a way to load SecurityProviders into the s|
|63049|New|Enh|2018-12-31|Add support in system properties override from com|
|63237|New|Enh|2019-03-06|Consider processing mbeans-descriptors.xml at comp|
|63362|New|Enh|2019-04-18|GlobalRequestProcessor statistics in MBean does no|
|63389|New|Enh|2019-04-27|Enable Servlet Warmup for Containerization|
|63493|New|Enh|2019-06-10|enhancement - add JMX counters to monitor authenti|
|63505|New|Enh|2019-06-14|enhancement - support of stored procedures for Dat|
|63545|New|Enh|2019-07-06|enhancement - add a new pattern attribute for logg|
|63943|Opn|Enh|2019-11-20|Add possibility to overwrite remote port with info|
|63983|Ver|Cri|2019-12-03|Jasper builds-up open files until garbage collecti|
|64080|New|Enh|2020-01-16|Graceful shutdown does not occur for connected cli|
|64110|New|Enh|2020-02-01|Record TLS protocol in access log for connections |
|64144|New|Enh|2020-02-14|Add an option for rejecting requests that have bot|
|64230|New|Enh|2020-03-15|Allow to configure session manager to skip expirin|
|64395|New|Enh|2020-04-30|Windows Installer should offer an option to select|
|64710|Inf|Reg|2020-09-04|NullPointerException in Http2UpgradeHandler.endReq|
|64762|New|Reg|2020-09-23|CoyoteInputStream getInputStream() read (wait afte|
|64765|New|Nor|2020-09-24|ThreadPoolExecutor#submittedCount wrong after unde|
|64771|New|Maj|2020-09-26|Windows CPU processor always running by a thread r|
+-+---+---+--+--+
| Total   39 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat Native [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|62911|New|Enh|2018-11-15|Add support for proxying ocsp  requests via ProxyH|
+-+---+---+--+--+
| Total1 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat 8 [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|55243|New|Enh|2013-07-11|Add special search string for nested roles|
|55383|New|Enh|2013-08-07|Improve markup and design of Tomcat's HTML pages  |
|9|New|Enh|2013-09-14|UserDatabaseRealm enhacement: may use local JNDI  |
|55675|New|Enh|2013-10-18|Checking and handling invalid configuration option|
|55788|New|Enh|2013-11-16|TagPlugins should key on tag QName rather than imp|
|56166|New|Enh|2014-02-20|Suggestions for exception handling (avoid potentia|
|56398|New|Enh|2014-04-11|Support Arquillian-based unit testing |
|56399|New|Enh|2014-04-11|Re-factor request/response recycling so Coyote and|
|56402|New|Enh|2014-04-11|Add support for HTTP Upgrade to AJP components|
|56448|New|Enh|2014-04-23|Implement a robust solution for client initiated S|
|56522|Opn|Enh|2014-05-14|jasper-el 8 does not comply to EL Spec 3.0 regardi|
|56546|New|Enh|2014-05-19|Improve thread trace logging in WebappClassLoader.|
|56713|New|Enh|2014-07-12|Limit time that incoming request waits while webap|
|56890|Inf|Maj|2014-08-26|getRealPath returns null  |
|57130|New|Enh|2014-10-22|Allow digest.sh to accept password from a file or |
|57421|New|Enh|2015-01-07|Farming default directories   |
|57486|New|Enh|2015-01-23|Improve reuse of ProtectedFunctionMapper instances|
|57701|New|Enh|2015-03-13|Implement "[Redeploy]" button for a web applicatio|
|57830|New|Enh|2015-04-18|Add support for ProxyProtocol |
|58052|Opn|Enh|2015-06-19|RewriteValve: Implement additional RewriteRule dir|
|58072|New|Enh|2015-06-23|ECDH curve selection  |
|58837|New|Enh|2016-01-12|support "X-Content-Security-Policy" a.k.a as "CSP"|
|58935|Opn|Enh|2016-01-29|Re-deploy from war without deleting context   |
|59232|New|Enh|2016-03-24|Make the context name of an app available via JNDI|
|59423|New|Enh|2016-05-03|amend "No LoginModules configured for ..." with hi|
|59758|New|Enh|2016-06-27|Add http proxy username-password credentials suppo|
|60281|Ver|Nor|2016-10-20|Pathname of uploaded WAR file should not be contai|
|60721|Ver|Nor|2017-02-10|Unable to find key spec if more applications use b|
|60781|New|Nor|2017-02-27|Access Log Valve does not escape the same as mod_l|
|60849|New|Enh|2017-03-13|Tomcat NIO Connector not able to handle SSL renego|
|61668|Ver|Min|2017-10-26|Possible NullPointerException in org.apache.coyote|
|61877|New|Enh|2017-12-08|use web.xml from CATALINA_HOME by default |
|61917|New|Enh|2017-12-19|AddDefaultCharsetFilter only supports text/* respo|
|62150|New|Enh|2018-03-01|Behavior of relative paths with RequestDispatcher |
|62214|New|Enh|2018-03-22|The "userSubtree=true" and "roleSubtree=true" in J|
|62245|New|Enh|2018-04-02|[Documentation] Mention contextXsltFile in Default|
|63080|New|Enh|2019-01-16|Support rfc7239 Forwarded header  |
|63195|Inf|Enh|2019-02-21|Add easy way to test RemoteIpValve works properly |
|63802|Inf|Cri|2019-10-04|epoll spin detection is missing   |
|63815|Inf|Nor|2019-10-08|Expansion of JAVA_OPTS in catalina.sh containing '|
+-+---+---+--+--+
| Total   40 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat 7 [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|50944|Ver|Blk|2011-03-18|JSF: java.lang.NullPointerException at com.sun.fac|
|55470|New|Enh|2013-08-23|Help users for ClassNotFoundExceptions during star|
|55477|New|Enh|2013-08-23|Add a solution to map a realm name to a security r|
|56148|New|Enh|2014-02-17|support (multiple) ocsp stapling  |
|56181|New|Enh|2014-02-23|RemoteIpValve & RemoteIpFilter: HttpServletRequest|
|56300|New|Enh|2014-03-22|[Tribes] No useful examples, lack of documentation|
|56438|New|Enh|2014-04-21|If jar scan does not find context config or TLD co|
|56614|New|Enh|2014-06-12|Add a switch to ignore annotations detection on ta|
|56787|New|Enh|2014-07-29|Simplified jndi name parsing  |
|57367|New|Enh|2014-12-18|If JAR scan experiences a stack overflow, give the|
|57827|New|Enh|2015-04-17|Enable adding/removing of members via jmx in a sta|
|57872|New|Enh|2015-04-29|Do not auto-switch session cookie to version=1 due|
|57892|New|Enh|2015-05-05|Log once a warning if a symbolic link is ignored (|
|60597|New|Enh|2017-01-17|Add ability to set cipher suites for websocket cli|
|63167|New|Enh|2019-02-12|Network Requirements To Resolve No Members Active |
+-+---+---+--+--+
| Total   15 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Bug report for Tomcat Modules [2020/09/27]

2020-09-27 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|50571|Inf|Nor|2011-01-11|Tomcat 7 JDBC connection pool exception enhancemen|
|51595|Inf|Nor|2011-08-01|org.apache.tomcat.jdbc.pool.jmx.ConnectionPool sho|
|51879|Inf|Enh|2011-09-22|Improve access to Native Connection Methods   |
|52024|Inf|Enh|2011-10-13|Custom interceptor to support automatic failover o|
|53199|Inf|Enh|2012-05-07|Refactor ConnectionPool to use ScheduledExecutorSe|
|54437|New|Enh|2013-01-16|Update PoolProperties javadoc for ConnectState int|
|54929|Inf|Nor|2013-05-05|jdbc-pool cannot be used with Java 1.5, "java.lang|
|55078|New|Nor|2013-06-07|Configuring a DataSource Resource with dataSourceJ|
|55662|New|Enh|2013-10-17|Add a way to set an instance of java.sql.Driver di|
|56046|New|Enh|2014-01-21|org.apache.tomcat.jdbc.pool.XADataSource InitSQL p|
|56088|New|Maj|2014-01-29|AbstractQueryReport$StatementProxy throws exceptio|
|56310|Inf|Maj|2014-03-25|PooledConnection and XAConnection not handled corr|
|56586|New|Nor|2014-06-02|initSQL should be committed if defaultAutoCommit =|
|56775|New|Nor|2014-07-28|PoolCleanerTime schedule issue|
|56779|New|Nor|2014-07-28|Allow multiple connection initialization statement|
|56790|New|Nor|2014-07-29|Resizing pool.maxActive to a higher value at runti|
|56798|New|Nor|2014-07-31|Idle eviction strategy could perform better (and i|
|56804|New|Nor|2014-08-02|Use a default validationQueryTimeout other than "f|
|56805|New|Nor|2014-08-02|datasource.getConnection() may be unnecessarily bl|
|56837|New|Nor|2014-08-11|if validationQuery have error with timeBetweenEvic|
|56970|New|Nor|2014-09-11|MaxActive vs. MaxTotal for commons-dbcp and tomcat|
|57460|New|Nor|2015-01-19|[DB2]Connection broken after few hours but not rem|
|57729|New|Enh|2015-03-20|Add QueryExecutionReportInterceptor to log query e|
|58489|Opn|Maj|2015-10-08|QueryStatsComparator throws IllegalArgumentExcepti|
|59077|New|Nor|2016-02-26|DataSourceFactory creates a neutered data source  |
|59569|New|Nor|2016-05-18|isWrapperFor/unwrap implementations incorrect |
|59879|New|Nor|2016-07-18|StatementCache interceptor returns ResultSet objec|
|60195|New|Nor|2016-10-02|No javadoc in Maven Central   |
|60522|New|Nor|2016-12-27|An option for setting if the transaction should be|
|60524|Inf|Nor|2016-12-28|NPE in SlowQueryReport in tomcat-jdbc-7.0.68  |
|60645|New|Nor|2017-01-25|StatementFinalizer is not thread-safe |
|61032|New|Nor|2017-04-24|min pool size is not being respected  |
|61103|New|Nor|2017-05-18|StatementCache potentially caching non-functional |
|61302|New|Enh|2017-07-15|Refactoring of DataSourceProxy|
|61303|New|Enh|2017-07-15|Refactoring of ConnectionPool |
|62432|New|Nor|2018-06-06|Memory Leak in Statement Finalizer?   |
|62598|New|Enh|2018-08-04|support pool with multiple JDBC data sources  |
|62910|Inf|Nor|2018-11-15|tomcat-jdbc global pool transaction problem   |
|63612|Inf|Cri|2019-07-26|PooledConnection#connectUsingDriver, Thread.curren|
|63705|New|Nor|2019-08-29|The tomcat pool doesn't register all connection th|
|64083|New|Nor|2020-01-17|JDBC pool keeps closed connection as available|
|64107|New|Maj|2020-01-30|PreparedStatements correctly closed are not return|
|64231|New|Nor|2020-03-16|Tomcat jdbc pool behaviour|
|64570|New|Nor|2020-07-01|Transaction not rollbacked if autocommit is false |
+-+---+---+--+--+
| Total   44 bugs   |
+---+

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: CATALINA_BASE vs CATALINA_HOME: What must be where?

2020-09-27 Thread Konstantin Kolinko
сб, 26 сент. 2020 г. в 18:12, Christopher Schultz
:
>
> All,
>
> I'm writing about the above topic for ApacheCon @ Home and I wanted to
> get some confirmation about a few statements. The code is ... large and
> complex and it will be easier to just ask for help from those who Know.
>
> "
> Many files in CATALINA_BASE are optional
> * Override those in CATALINA_HOME
>  - conf/context.xml

I think you are wrong with the above one. By design it has to be in
CATALINA_BASE, it cannot be in CATALINA_HOME.
E.g.
- org.a.c.startup.HostConfig.addGlobalRedeployResources() assumes that
the file is in CATALINA_BASE.
- org.a.c.startup.CatalinaBaseConfigurationSource#getResources() loads
a file from catalinaBase.

> * Some files are required in CATALINA_BASE
>  - conf/server.xml
>  - conf/catalina.policy
>  - conf/web.xml

catalina.policy is not needed if you are not running with a
SecurotyManager enabled.

> Some Exceptions may be Surprising
> * Only in CATALINA_HOME
>  - bin/setclasspath.sh
.
That is some helper script that should not be customized.

When people modify that file it usually means that they have not read
the documentation and do not know about setenv.sh.

>  - endorsed/ (special Java libraries)

The path to endorsed directory is settable in setenv.sh. The directory
can be anywhere. I have experience of running several Tomcat 7
instances where only some of them had an endorsed directory. And I am
sure that you know that it is a technology that does not work with
modern versions of Java.

>  - bin/bootstrap.jar
> "
>
> Is this all correct?
>
> Am I missing anything?

There may be some "last resort" defaults, e.g. I see that a copy of
catalina.properties is present in catalina.jar. I also see that
CatalinaBaseConfigurationSource#getResources() tries to load a
resource from a ClassLoader, but it would be odd to put configuration
there.

>From the docs I know that a system property "catalina.config" may be
used to override the path to the "catalina.properties" file, but I
personally have not used that feature and do not know whether it is
useful. As documentation for that property is improved in Tomcat 10 vs
Tomcat 7, I think there was some discussion.

http://tomcat.apache.org/tomcat-10.0-doc/config/systemprops.html#Other
http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html#Other

I know that path to server.xml may be specified at the command line.
See o.a.startup.Catalina#arguments() for "-config".
I have not tested whether it works, and I do not see "-config" being
documented in RUNNING.txt or elsewhere in the docs.

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64774] New: Configuration Reference pages have a wrong version number in their title

2020-09-27 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64774

Bug ID: 64774
   Summary: Configuration Reference pages have a wrong version
number in their title
   Product: Tomcat 10
   Version: 10.0.0-M8
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Documentation
  Assignee: dev@tomcat.apache.org
  Reporter: knst.koli...@gmail.com
  Target Milestone: --

Looking at the following page of Tomcat 10.0.0-M8,
http://tomcat.apache.org/tomcat-10.0-doc/config/index.html
it says "Apache Tomcat 9 Configuration Reference".

That string is configured in webapps/docs/config/project.xml

Looking at the history of that file and r1637337, the version is also mentioned
in the following file:

webapps/docs/architecture/project.xml

http://tomcat.apache.org/tomcat-10.0-doc/architecture/index.html

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64771] Windows CPU processor always running by a thread reading request body from https connection

2020-09-27 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64771

--- Comment #2 from mgrigorov  ---
Could you please provide the full stack traces for these two threads ?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [tomcat] branch master updated (519f6f8 -> 18e0e3f)

2020-09-27 Thread Martin Grigorov
Hi,

On Fri, Sep 25, 2020 at 4:40 PM Mark Thomas  wrote:

> On 25/09/2020 14:34, ma...@apache.org wrote:
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > markt pushed a change to branch master
> > in repository https://gitbox.apache.org/repos/asf/tomcat.git.
> >
> >
> > from 519f6f8  Fix a typo in changelog
> >  new ee25710  Reduce memory footprint of closed http/2 streams
> >  new f6e656e  Reduce memory footprint of closed http/2 streams
> >  new 0f66705  Reduce memory footprint of closed http/2 streams
> >  new fa6df26  Reduce memory footprint of closed http/2 streams
> >  new 9ee7d6a  Reduce memory footprint of closed http/2 streams
> >  new 30df6a0  Reduce memory footprint of closed http/2 streams
> >  new 0a78ae9  Fully replace Stream with RecycledStream
> >  new 954cbff  Refactor the pruning so more stream info is retained
> for longer
> >  new 18e0e3f  Update changelog
>
> All,
>
> This set of changes provided multiple improvements to the HTTP/2
> implementation:
>
> 1. The memory used by closed streams is significantly reduced (hopefully
>without the NPEs triggered by my previous attempt).
> 2. We retain information on more streams in the priority tree. This
>enables greater latitude for clients that send frames for streams
>that have been closed (while not increasing memory).
> 3. We no longer aggressively prune the priority tree to just active
>streams (this was causing problems in some usage patterns).
>
> My plan is to let this run on the CI for a few days and then - assuming
> no issues - back-port it early next week.
>

I will cherry-pick these commits to a branch [1] that I use for testing and
profiling.
I'll report back with the results!

1.
https://github.com/martin-g/tomcat/tree/http2/use-navigateable-map-for-http2-streams



>
> Mark
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


[Bug 64771] Windows CPU processor always running by a thread reading request body from https connection

2020-09-27 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64771

--- Comment #3 from Jerry Hou  ---
"boundedElastic-90" #434 daemon prio=5 os_prio=0 tid=0x21055000
nid=0xd14 runnable [0x4383d000]
   java.lang.Thread.State: RUNNABLE
at
org.apache.tomcat.util.net.openssl.OpenSSLEngine.unwrap(OpenSSLEngine.java:603)
- locked <0x000608ad2bf0> (a
org.apache.tomcat.util.net.openssl.OpenSSLEngine)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at
org.apache.tomcat.util.net.SecureNioChannel.read(SecureNioChannel.java:617)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1228)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1140)
at
org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:780)
at
org.apache.coyote.http11.Http11InputBuffer.available(Http11InputBuffer.java:668)
at
org.apache.coyote.http11.Http11Processor.available(Http11Processor.java:1185)
at
org.apache.coyote.AbstractProcessor.isReadyForRead(AbstractProcessor.java:825)
at
org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:574)
at org.apache.coyote.Request.action(Request.java:432)
at
org.apache.catalina.connector.InputBuffer.isReady(InputBuffer.java:305)
at
org.apache.catalina.connector.CoyoteInputStream.isReady(CoyoteInputStream.java:201)
at
org.springframework.http.server.reactive.ServletServerHttpRequest$RequestBodyPublisher.checkOnDataAvailable(ServletServerHttpRequest.java:290)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher.changeToDemandState(AbstractListenerReadPublisher.java:222)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher.access$1000(AbstractListenerReadPublisher.java:48)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher$State$2.request(AbstractListenerReadPublisher.java:333)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher$ReadSubscription.request(AbstractListenerReadPublisher.java:260)
at
reactor.core.publisher.MonoReduce$ReduceSubscriber.onSubscribe(MonoReduce.java:78)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher$State$1.subscribe(AbstractListenerReadPublisher.java:301)
at
org.springframework.http.server.reactive.AbstractListenerReadPublisher.subscribe(AbstractListenerReadPublisher.java:105)
at reactor.core.publisher.FluxSource.subscribe(FluxSource.java:65)
at reactor.core.publisher.Mono.subscribe(Mono.java:4213)
at reactor.core.publisher.Mono.subscribeWith(Mono.java:4324)
at reactor.core.publisher.Mono.subscribe(Mono.java:4184)
at reactor.core.publisher.Mono.subscribe(Mono.java:4120)
at reactor.core.publisher.Mono.subscribe(Mono.java:4067)
at
com.bac.bacconnect.webflux.common.gateway.context.DefaultContext.bufferBody(DefaultContext.java:173)
at
com.bac.bacconnect.commons.filters.SecurityFilter.e(SecurityFilter.java:205)
at
com.bac.bacconnect.commons.filters.SecurityFilter.doFilterInternally(SecurityFilter.java:132)
at
com.bac.bacconnect.commons.filters.SecurityFilter.doFilter(SecurityFilter.java:106)
at
com.bac.bacconnect.commons.common.filter.FilterChain.doFilter(FilterChain.java:42)
at com.bac.bacconnect.igw.webflux.controller.Api.a(Api.java:102)
at
com.bac.bacconnect.igw.webflux.controller.Api$$Lambda$417/1031507663.accept(Unknown
Source)
at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
at
reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241)
at
reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:203)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:203)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
at
reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onNext(MonoIgnoreThen.java:296)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:144)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782)
at
reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:247)
at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:329)
at
reactor.core.publisher.M

Re: [tomcat] 08/09: Refactor the pruning so more stream info is retained for longer

2020-09-27 Thread Martin Grigorov
Hi Mark,

On Fri, Sep 25, 2020 at 4:35 PM  wrote:

> This is an automated email from the ASF dual-hosted git repository.
>
> markt pushed a commit to branch master
> in repository https://gitbox.apache.org/repos/asf/tomcat.git
>
> commit 954cbffa73efe6e546a07c84ade97a3b9b38a893
> Author: Mark Thomas 
> AuthorDate: Fri Sep 25 14:14:06 2020 +0100
>
> Refactor the pruning so more stream info is retained for longer
>
> The memory impact of this is mitigated by the previous changes to
> replace closed Stream instances with RecycledStream instances.
> ---
>  .../apache/coyote/http2/Http2UpgradeHandler.java   | 89
> --
>  1 file changed, 49 insertions(+), 40 deletions(-)
>
> diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> index a023fe0..49115d3 100644
> --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> @@ -30,6 +30,7 @@ import java.util.TreeSet;
>  import java.util.concurrent.ConcurrentHashMap;
>  import java.util.concurrent.ConcurrentLinkedQueue;
>  import java.util.concurrent.ConcurrentMap;
> +import java.util.concurrent.ConcurrentSkipListMap;
>  import java.util.concurrent.atomic.AtomicInteger;
>  import java.util.concurrent.atomic.AtomicLong;
>  import java.util.concurrent.atomic.AtomicReference;
> @@ -123,7 +124,7 @@ class Http2UpgradeHandler extends AbstractStream
> implements InternalHttpUpgradeH
>  private HpackDecoder hpackDecoder;
>  private HpackEncoder hpackEncoder;
>
> -private final ConcurrentMap streams =
> new ConcurrentHashMap<>();
> +private final ConcurrentMap streams =
> new ConcurrentSkipListMap<>();
>

In my branch I also moved to ConcurrentSkipListMap:
https://github.com/martin-g/tomcat/commit/08cca44fbb9bd05e35c5655ff7d6ea9781bc28fa
I did it because #closeIdleStreams() was appearing in the profiler. With
this change it is no more in the profiler results!
Now the only drawback is that streams.size() (called
in org.apache.coyote.http2.Http2UpgradeHandler#pruneClosedStreams()) is no
longer a constant-time operation.


>  protected final AtomicInteger activeRemoteStreamCount = new
> AtomicInteger(0);
>  // Start at -1 so the 'add 2' logic in closeIdleStreams() works
>  private volatile int maxActiveRemoteStreamId = -1;
> @@ -1207,78 +1208,86 @@ class Http2UpgradeHandler extends AbstractStream
> implements InternalHttpUpgradeH
>  // 2. Completed streams used for a request with children
>  // 3. Closed final streams
>  //
> -// Steps 1 and 2 will always be completed.
> -// Step 3 will be completed to the minimum extent necessary to
> bring the
> -// total number of streams under the limit.
> +// The pruning halts as soon as enough streams have been pruned.
>
>  // Use these sets to track the different classes of streams
> -TreeSet candidatesStepOne = new TreeSet<>();
>  TreeSet candidatesStepTwo = new TreeSet<>();
>  TreeSet candidatesStepThree = new TreeSet<>();
>
> -for (Entry entry :
> streams.entrySet()) {
> -AbstractNonZeroStream stream = entry.getValue();
> +// Step 1
> +// Iterator is in key order so we automatically have the oldest
> streams
> +// first
> +for (AbstractNonZeroStream stream : streams.values()) {
>  // Never remove active streams
>  if (stream instanceof Stream && ((Stream) stream).isActive())
> {
>  continue;
>  }
>
> -final Integer streamIdentifier = entry.getKey();
>  if (stream.isClosedFinal()) {
>  // This stream went from IDLE to CLOSED and is likely to
> have
>  // been created by the client as part of the priority
> tree.
> -candidatesStepThree.add(streamIdentifier);
> +// Candidate for steo 3.
> +candidatesStepThree.add(stream.getIdentifier());
>  } else if (stream.getChildStreams().size() == 0) {
> -// Closed, no children
> -candidatesStepOne.add(streamIdentifier);
> -} else {
> -// Closed, with children
> -candidatesStepTwo.add(streamIdentifier);
> -}
> -}
> -
> -// Process the step one list
> -for (Integer streamIdToRemove : candidatesStepOne) {
> -// Remove this childless stream
> -AbstractNonZeroStream removedStream =
> streams.remove(streamIdToRemove);
> -removedStream.detachFromParent();
> -toClose--;
> -if (log.isDebugEnabled()) {
> -log.debug(sm.getString("upgradeHandler.pruned",
> connectionId, streamIdToRemove));
> -}
> -
> -// Did this make the parent childless?
> -AbstractStream parent = removedStream.getParentStream();