wso2GadgetServer: How to use a proxy? - wso2

I installed the wso2GadgetServer-1.4.2 within our company network. Access to external datasources is available via proxy. Within the /repository/conf/wrapper.conf I added the following:
wrapper.java.additional.11=-Dhttp.proxyHost=<ip of our proxy>
wrapper.java.additional.12=-Dhttp.proxyPort=<port the proxy is listening to>
wrapper.java.additional.13=-Dhttp.nonProxyHosts=127.0.0.1|localhost
I (re-)started the GadgetServer and opened the dashboard again. The (external) content of the (predefined) gadget was not displayed. Instead a timeout message was shown. Within the /repository/logs/wrapper.logs I found corresponding entries like the following:
INFO | jvm 1 | 2012/04/12 08:24:21 | Apr 12, 2012 8:24:20 AM org.apache.shindig.gadgets.servlet.ProxyBase outputError
INFO | jvm 1 | 2012/04/12 08:24:21 | Warnung: Request failed
INFO | jvm 1 | 2012/04/12 08:24:21 | org.apache.shindig.gadgets.GadgetException: org.apache.http.conn.ConnectTimeoutException: Connect to soa-platform.blogspot.com/209.85.148.132:80 timed out
INFO | jvm 1 | 2012/04/12 08:24:21 | at org.apache.shindig.gadgets.http.BasicHttpFetcher.fetch(BasicHttpFetcher.java:351)
[...]
INFO | jvm 1 | 2012/04/12 08:24:21 | Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to soa-platform.blogspot.com/209.85.148.132:80 timed out
Does anybody have an idea, how to resolve the problem?
btw: 2 guys adressed the same problem at http://wso2.org/forum/thread/21081

In the article WSO2 ESB 4.0.3 - Configure forward proxy for client software I have found a solution. If the http. is removed from the configuration, then the external content of the gadget is displayed:
wrapper.java.additional.11=-DproxyHost=<ip of our proxy>
wrapper.java.additional.12=-DproxyPort=<port the proxy is listening to>
wrapper.java.additional.13=-DnonProxyHosts=127.0.0.1|localhost

Related

Requests to Lambda through ALB behind VPC are extremely slow

I am working on exposing a lambda to the public net with the lambda residing behind an already existing VPC (so I can later on limit the IP range of incoming requests using a security group).
To test that everything works, I set up a small lambda that simply prints hello world. I am running into a problem where the connection is extremely slow. The lambda executes in less than a milisecond, but each CURL to the endpoint run extremely slow.
Using curl for diagnostics I have found that:
curl -kso /dev/null my-alb-url -w "==============\n\n
| dnslookup: %{time_namelookup}\n
| connect: %{time_connect}\n
| appconnect: %{time_appconnect}\n
| pretransfer: %{time_pretransfer}\n
| starttransfer: %{time_starttransfer}\n
| total: %{time_total}\n
| size: %{size_download}\n
| HTTPCode=%{http_code}\n\n"
==============
| dnslookup: 0.061576
| connect: 75.256759
| appconnect: 0.000000
| pretransfer: 75.257615
| starttransfer: 75.794737
| total: 75.795154
| size: 28
| HTTPCode=200
The load balancer:
is connected to two availability zones that are both public facing
forward to a target group only containing my lambda
is linked with a security group that has enabled all inbound and outbound traffic
To make things more confusing, this is not an issue on every request but it is seemingly random.
What would be the best way to debug this issue?
I managed to resolve it but I am not entirely sure how.
I triple checked the subnet setup and just redid the setup again. 10 minutes later and now it works as intended. My suspicion is that one of the AZs linked to the wrong subnet.

Is there a reason for removing spring mediator in WSO2 EI 6.6

The WSO2 EI v6.6 removed the support for Spring Mediator. It was mentioned as 'deprecated' on v6.5 itself so the question is not about removal so much as about the reason for this removal.
Is there any specific reason for removing this mediator?
They have sent an update to WSO2 Architecture mailing list regarding deprecating this feature. Here is what included there.
| Feature | Reason for deprecating |
|--------------------------------------------|-------------------------------------------------------------------------|
| Priority Executors, Enqueue Mediator | Rarely used |
| Bean Mediator | Rarely used, no active development |
| POJO Command Mediator | Rarely used, no active development |
| Spring Mediator | Rarely used, no active development |
| Conditional Router Mediator | Same as Filter mediator, so no use of having this |
| In, Out Mediators | Rarely used, not required with the new call/respond mediator approach. |
| Event Mediator & In memory Topics | No real production usage |
| ESB artifacts option in Management console | Rarely used |

Using Aws-RDS, getting too many db connections with only 2 app users?

using Amazon-RDS, with medium sized instance (db.t2.medium) has max connections limit of aroud 400, still get almost full db connections, even when only 2 users are using the app, using it with mobile apis only (android) not making calls from anywhere else.
What might be the issue, where are all these connections coming from ?
DDOS ? can ddos led to this, but we bought brand new server
You're probably not closing connections when you're done with them.
Log into the database as the root user and execute this query:
select HOST, COMMAND, count(*) from INFORMATION_SCHEMA.PROCESSLIST group by 1, 2;
It will give you output that looks like this:
+-----------+---------+----------+
| HOST | COMMAND | count(*) |
+-----------+---------+----------+
| localhost | Query | 1 |
| localhost | Sleep | 1 |
+-----------+---------+----------+
If you have two users with stable IP addresses, you'll probably see four lines of output: two for each user, with a high count for Sleep. This indicates that you're leaving connections open.
If you're running on mobile, however, the IP addresses may not be stable. You'll need to do a second level of analysis to see if they're all from the same ISP(s).
The only way that a DDOS would fill up your connection pool is if you've leaked the database password. If that's the case, you should consider your database corrupted and start over (with more attention to security).

permission denied to set parameter "client_min_messages" to "notice"

I have a redshift cluster launched and running on aws and the inbound query is authorized by configuring the VPC security group
Then I try to connect to the redshift with pgAdmin and received following error
An error has occurred:
ERROR: permission denied to set parameter "client_min_messages" to "notice"
and
An error has occurred:
Column not found in pgSet: "datlastsysoid"
PgAdmin is mainly a Postgres client and is not a supported client for redshift. Due to its incompatibility, opening a connection always tries to set client_min_messages, but Redshift refuses to accept such a setting. This causes the error you experienced.
Redshift supports only the below parameters which have to be set at the cluster -
dev=# show all;
name | setting
---------------------------+----------------------
analyze_threshold_percent | 10
datestyle | ISO, MDY
extra_float_digits | 0
query_group | default
search_path | $user, public, admin
statement_timeout | 0
wlm_query_slot_count | 1
(7 rows)
You can use other clients like psql or SQLWorkbench/J as pgAdmin has deviations and doesn't support connections to redshift. You can also refer to this where an issue is reported on Github.

RTMP in Coldfusion10 - Type 'coldfusion.flash.messaging.CFRTMPEndPoint' not found

I'm trying to use RTMP with Coldfusion 10 and the embedded livecycle ES. The other channels and endpoints work fine, but when the server starts up I get an error complaining that the endpoint class cannot be found for the cf-rtmp channel.
I'm using the standard setup with no special configuration.
As I said, the AMF channel, polling channel, etc. work just fine, and there are no complaints about those channels or endpoints when the server starts up.
This is the error in the logs when the server starts up:
INFO: ColdFusionStartUpServlet: ColdFusion: VM version = 23.7-b01
java.lang.NullPointerException
at coldfusion.server.jrun4.metrics.SimpleLoadMetric.run(SimpleLoadMetric .java:157)
at coldfusion.scheduling.ThreadPool.run(ThreadPool.java:211)
at coldfusion.scheduling.WorkerThread.run(WorkerThread.java:71)
Nov 21, 2013 9:34:14 AM org.apache.catalina.core.ApplicationContext log
INFO: CFMxmlServlet: Macromedia Flex Build: 87315.134646
**** MessageBrokerServlet in application 'Adobe ColdFusion 10' failed to initialize due to runtime exception:
Exception: flex.messaging.MessageException:
Cannot create class of type 'coldfusion.flash.messaging.CFRTMPEndPoint'.
Type coldfusion.flash.messaging.CFRTMPEndPoint' not found.
at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:70)
Here are the first lines of the rtmp channel definition in my services-config file referencing the channel and endpoint classes.
<channel-definition id="cf-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint uri="rtmp://{server.name}:2048" class="coldfusion.flash.messaging.CFRTMPEndPoint"/>
....
</channel>