GSS (vs) Cached DNS responses
I am trying to understand the GSS product and how it provides 'immediate' redundancy across multiple data center(s).
So lets assume that the GSS (with CNR installed) has been deployed and functions as the authoritative server for the domain (www.test.com). The goal is to provide active/standby type configuration between two data centers.
If a client tries to access the page (www.test.com), the GSS replies with the address of server (e.g: 1.1.1.1) residing in Data Center(a). However lets assume after the response from GSS is sent to client and the client is trying to connect to the www.test.com using Ip address 1.1.1.1, Data Center(a) becomes unavailable. How will this connection get redirected to Data Center(b)'s IP address 2.2.2.2?
All subsequest request from the client will be done using 'DNS cache' so the GSS does not come into the picture since the client already knows the IP address of www.test.com (1.1.1.1).
Is this how it works or am I missing something here?
Thanks in advance for the response.
Syed
There are few things you should keep in mind.
User Workstation is not the real client for GSS. Its primarily the Client's DNS Server.
With respect to caching you are very correct that GSS (for that matter any DNS based GSLB method) is prone to DNS caching issues.
There are various points in the network that stores/caches DNS information.
1. Client's DNS Servers
2. Client PC's OS
3. Browser on Client's PC
To mitigate Client DNS Server issue you need configure the A record served by GSS with a smaller TTL value. This "A-record TTL value" dictates how long can DNS server caches a DNS record. So for example if you set A-record TTL value to 5 minute then the worst outage of service you will get will be 5 minutes (as Client's DNS server will only cache it for 5 minutes and at 6th minute Client's DNS server will contact GSS again and will get the active vip as answer.
If you are using newer IE versions (6.x+) then you are in a better situation as these IEs try to resolve again if the web access to IP in DNS cache fails and hence will get the active IP on GSS.With Pre-6.x versions problem is severe as not only this feature is missing but also the DNS caching time is from 30 mins to 24 hours.
With Firefox (last time I checked) this dns cache timeout is 15 minute (so in worst case scenario the service outage will be 15 minutes).
Using google you can get lots of tools to disable dns caching on browsers. I know this is not a cool solution but it can be done.
In nutshell yes GSLB has issues with DNS caching but it still gives you a solution which can move client to a different Data center (after dns cache timeout).
Syed Iftekhar Ahmed
Similar Messages
-
How to set up with cacheing DNS for local network?
Our new Lion Server has a static IP Address pointed to over the internet by our registrar's zone file. Planning the Lion Server installation process with the intent of hosting Web, Mail and Open Directory services to a small number of users who are nearly all located off-site. I do also want Lion Server to be a caching DNS Server and DHCP authority on the local network to replace what dnsmasq does on our current Linux server.
I am looking forward to offloading some of the lower level Linux administration tasks and putting myself in the hands of the Lion Server Setup Assistant and Server App :-) but at the same time don't understand some of its assumptions and fear having to spend a lot of time experimenting and re-installing.
So, specifically, I want the Server App to know that my Lion Server has a "Host Name for the Internet" but that the DNS it sets up will not be the DNS for my zone - I will be managing that through my registrar's interfaces.
Second problem is my fnot understanding what name space devices on the local network will / should use. e.g. The Linux server will be available for backups etc on the local intranet (and optionally have a static ip address on the Internet) but MacBooks, PCs, iPads and iPhones will be served ip addresses by the Lion Server's DHCP. So will / should these dynamic devices have their machine names fully qualified by our domain name with RFC 1918 style ip addresses or something like .local? How do I tell this to Lion's Server App / Setup Assistant? How easy is it to update these initial settings later?You do indeed need to have a master zone on lion server. There's no way to get around that since Open Directory depends on Kerberos and Kerberos depends on the DNS. LS scripts may see that the rDNS record exists, but I highly doubt that it'll auto configure everything for you... and given the number of possible variables, I bet that even if it worked something would need additional tweaking.
Sounds like an interesting lab excersize. You should try it on a test server!
Again... you just need to folow the set up procedure that Lion Server presents you with.
It won't be smart enough to see your external records and use them to configure a key distribution center for your OD.
As far as your caching needs... Could you set up your DHCP server to set the DNS server setting to show your internal server as the first hit, and your external as the second? That way when the client requests a resolution it'll not get a hit on your local server but will from the external?
The question then is how long will it wait for a response from the first server? Or will the first server respond with "I don't know" sending the client immediately to the second.
The server set up that I have works similarly. I have an internal master DNS that is replicated to a secondary. The first DNS has an A record (community.server.com) that points to the INTERNAL ip address of the secondary server that's also running the web service. The first server is running DHCP. It tells the clients to use the first and second servers as it's DNS lookup.
Now... Externally, my registrar hosts an A record for community.server.com that points to the external IP address of my router which then forwards the request to the proper port on the internal network.
This way, the local clients internally look up and get a response locally when they go for community.server.com. Externally, clients that look up community.server.com get the external connection to the router in my school.
Yikes... I fear that this is as clear as mud!
-Graham -
GSS stickiness issue:
Customer has 4 GSS (2 in each of two sites), SSL terminatin is configured on the downlaying CSS's.
Stickiness is configured on GSS's (25 min) to force clients to go to the same site/server during transaction.
GSS are configured with two answers per answers group/ per rule.
Stickiness mask is 32 bits, so each DNS server gets its own stickiness record.
TTL for specific answer group is 30 sec - to let GSS's enough time to propagate sticky info among members.
For specific ISP DNS server I can see specific answer that GSS sticks with, and due to traffic it
looks like it stays for weeks, no flip flops.
Different ISP DNS servers have different answers (due to /32 mask).
Apparently some clients with MAC Safari browsers are getting alternate answer during transaction what caused error.
I tracked DNS resolution from client to ISP DNS, it uses same caching ISP DNS server, which replies
with proper answer usually but suddenly may reply with alternate answer which disrupts client's transaction.
As I said sticky record for this ISP server in GSS sticy database looks solid.
Clients that have such problems use MAC with Safari dbrowser.
Safari behaves differently from IE, it looks like it obeys TTL and tries to re-resolve DNS each 30 sec
(it may be 40 - 60 sec though).
Two reasons why that may happen:
1. In that "wrong" case DNS request is coming to ISP caching DNS server and then to another DNS server
in ISP infrastructure, and that another DNS server is quering GSS and getting alternate answer as per it's own sticky record..
That was discussed with ISP and was doubted by ISP representative - any comments?
2.As four GSS's are being queried by ISP on Round Robin basis - if one (or more) GSS has inconsistent sticky record
that may cause same issue.
How I can verify that?
Thanks
AlexI have been searching the archives, as we are having this same issue with only MAC Safari users. Our GSS's have been confirmed to have their sticky databases in sync. I'm still researching on the ISP side regarding different DNS servers, but this issue is only happening with MAC users, and with different ISP's. Does anyone have any insight?
Thanks,
Kim -
CVU failing with error msg(PRVF-5636 : The DNS response time for an unreach
I am installing 4Node 10g RAC on OEL5.3, i downloaded CU from OTN and getting below warning messages.
Checking the file "/etc/resolv.conf"; to make sure only one of domain and search entries is defined
File "/etc/resolv.conf"; does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf"; is consistent across the nodes...
domain entry in file "/etc/resolv.conf"; is consistent across nodes
Checking if search entry in file "/etc/resolv.conf"; is consistent across the nodes...
search entry in file "/etc/resolv.conf"; is consistent across nodes
Checking file "/etc/resolv.conf"; to make sure that only one search entry is defined
All nodes have one search entry defined in file "/etc/resolv.conf";
Checking all nodes to make sure that search entry is "soft1" as found on node "racnode4"
All nodes of the cluster have same value for 'search'
Checking DNS response time for an unreachable node
Node Name Status
racnode4 failed
racnode3 failed
racnode2 failed
racnode1 failed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: racnode4,racnode3,racnode2,racnode1
File "/etc/resolv.conf"; is not consistent across nodes
Check: Time zone consistency
Result: Time zone consistency check passed
Pre-check for cluster services setup was unsuccessful on all the nodes.
[oracle@racnode1 bin]$PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: racnode4,racnode3,racnode2,racnode1 have you checked this note? Runcluvfy - Dns Response Time Check - Fails with PRVF-5636 The DNS response time for an unreachable node exceeded "15000" ms [ID 1326997.1]
Also have you set Domain name on all servers?
[root@oracle-ha ~]# domainname
(none)
[root@oracle-ha ~]# domainname ckpt.com
[root@oracle-ha ~]# domainname
ckpt.com
[root@oracle-ha ~]#You can check DNS configuration of your setup using this link http://computernetworkingnotes.com/network-administrations/dns-server.html -
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000"
Friends,
OS: OEL 6.3 64 bit
DB: 11.2.0.3
Environment: VirtualBox 4.1.20
i have 3 nodes. one is for dns and other two for rac1 and rac2
i have done all the preliminary steps. then i started
[oracle@rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verboseand all are passed except the above subjected error.
Checking DNS response time for an unreachable node
Node Name Status
rac2 failed
rac1 failed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: rac2
File "/etc/resolv.conf" is not consistent across nodesok....now to solve this error...i tried many options...but not able to succeed.
Try 1:
[root@mydns ~]# time nslookup rac1
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac1.sathy.net
Address: 192.168.1.3
real 0m0.051s
user 0m0.003s
sys 0m0.011s
[root@mydns ~]# [oracle@rac1 grid]$ time nslookup mydns
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: mydns.sathy.net
Address: 192.168.1.2
real 0m0.019s
user 0m0.005s
sys 0m0.008s
[oracle@rac1 grid]$
[root@rac2 ~]# time nslookup rac1
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac1.sathy.net
Address: 192.168.1.3
real 0m0.019s
user 0m0.008s
sys 0m0.005s
[root@rac2 ~]# Try 2:
[root@mydns ~]# nslookup sathy-scan
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: sathy-scan.sathy.net
Address: 192.168.1.8
Name: sathy-scan.sathy.net
Address: 192.168.1.9
Name: sathy-scan.sathy.net
Address: 192.168.1.7
[root@mydns ~]# nslookup rac1
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac1.sathy.net
Address: 192.168.1.3
[root@mydns ~]# nslookup rac2
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac2.sathy.net
Address: 192.168.1.5
[root@mydns ~]#
[oracle@rac1 grid]$ nslookup sathy-scan
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: sathy-scan.sathy.net
Address: 192.168.1.9
Name: sathy-scan.sathy.net
Address: 192.168.1.7
Name: sathy-scan.sathy.net
Address: 192.168.1.8
[oracle@rac1 grid]$ nslookup rac2
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac2.sathy.net
Address: 192.168.1.5
[oracle@rac1 grid]$ nslookup rac1
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac1.sathy.net
Address: 192.168.1.3
[oracle@rac1 grid]$
[root@rac2 ~]# nslookup sathy-scan
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: sathy-scan.sathy.net
Address: 192.168.1.7
Name: sathy-scan.sathy.net
Address: 192.168.1.8
Name: sathy-scan.sathy.net
Address: 192.168.1.9
[root@rac2 ~]# nslookup rac1
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac1.sathy.net
Address: 192.168.1.3
[root@rac2 ~]# nslookup rac2
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: rac2.sathy.net
Address: 192.168.1.5
[root@rac2 ~]# Try 3:
[root@mydns ~]# cat /etc/named.conf
// Default named.conf generated by install of bind-9.2.4-30.el4_7.2
options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forwarders { 192.168.1.1; };
include "/etc/rndc.key";
zone "sathy.net" IN {
type master;
file "sathy.net.zone";
allow-update { none; };
zone "1.168.192.in-addr.arpa." IN {
type master;
file "1.168.192.in-addr.arpa";
allow-update { none; };
zone "." in {
type hint;
file "/dev/null";
[root@mydns ~]# Try 4:
[root@mydns ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
#SELINUXTYPE=targeted
[root@mydns ~]#
[oracle@rac1 grid]$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
#SELINUXTYPE=targeted
[oracle@rac1 grid]$
[root@rac2 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
#SELINUXTYPE=targeted
[root@rac2 ~]# what else i have to check to solve this error?
for the past 2 days..i am trying to solve this error. may be somewhere a small mistake is happened from my side, but i am not able to find out.
hope somebody will find out and help me.
thanksok...here it is....
[root@mydns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sathy.net
nameserver 192.168.1.2
[root@mydns ~]#
[root@rac1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sathy.net
nameserver 192.168.1.2
[root@rac1 ~]#
[root@rac2 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sathy.net
nameserver 192.168.1.2
[root@rac2 ~]#
[root@mydns ~]# cat /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
# Public Network – (eth0)
192.168.1.3 rac1.sathy.net rac1
192.168.1.5 rac2.sathy.net rac2
# Public Virtual IP (VIP) addresses – (eth0:1)
192.168.1.4 rac1-vip.sathy.net rac1-vip
192.168.1.6 rac2-vip.sathy.net rac2-vip
# Private Interconnect – (eth1)
192.168.2.3 rac1-priv.sathy.net rac1-priv
192.168.2.5 rac2-priv.sathy.net rac2-priv
#Compute Node Client Access SCAN Interface details
#192.168.1.7 sathy-scan.sathy.net sathy-scan
#192.168.1.8 sathy-scan.sathy.net sathy-scan
#192.168.1.9 sathy-scan.sathy.net sathy-scan
[root@mydns ~]#
[root@rac1 ~]# cat /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
# Public Network – (eth0)
192.168.1.3 rac1.sathy.net rac1
192.168.1.5 rac2.sathy.net rac2
# Public Virtual IP (VIP) addresses – (eth0:1)
192.168.1.4 rac1-vip.sathy.net rac1-vip
192.168.1.6 rac2-vip.sathy.net rac2-vip
# Private Interconnect – (eth1)
192.168.2.3 rac1-priv.sathy.net rac1-priv
192.168.2.5 rac2-priv.sathy.net rac2-priv
#Compute Node Client Access SCAN Interface details
#192.168.1.7 sathy-scan.sathy.net sathy-scan
#192.168.1.8 sathy-scan.sathy.net sathy-scan
#192.168.1.9 sathy-scan.sathy.net sathy-scan
[root@rac1 ~]#
[root@rac2 ~]# cat /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
# Public Network – (eth0)
192.168.1.3 rac1.sathy.net rac1
192.168.1.5 rac2.sathy.net rac2
# Public Virtual IP (VIP) addresses – (eth0:1)
192.168.1.4 rac1-vip.sathy.net rac1-vip
192.168.1.6 rac2-vip.sathy.net rac2-vip
# Private Interconnect – (eth1)
192.168.2.3 rac1-priv.sathy.net rac1-priv
192.168.2.5 rac2-priv.sathy.net rac2-priv
#Compute Node Client Access SCAN Interface details
#192.168.1.7 sathy-scan.sathy.net sathy-scan
#192.168.1.8 sathy-scan.sathy.net sathy-scan
#192.168.1.9 sathy-scan.sathy.net sathy-scan
[root@rac2 ~]#
[oracle@rac1 ~]$ ssh rac2 date
Sun Sep 9 22:04:45 IST 2012
[oracle@rac1 ~]$ su - grid
Password:
[grid@rac1 ~]$ ssh rac2 date
Sun Sep 9 22:04:54 IST 2012
[grid@rac1 ~]$
[oracle@rac2 ~]$ ssh rac1 date
Sun Sep 9 22:04:18 IST 2012
[oracle@rac2 ~]$ su - grid
Password:
[grid@rac2 ~]$ ssh rac1 date
Sun Sep 9 22:04:31 IST 2012
[grid@rac2 ~]$ Now the error is ...
PRVF-5637 : DNS response time could not be checked on following nodes: rac2,rac1what else?
i wonder how it was successful in my previous installation which in oel 5.7....
Edited by: OraDB on Sep 9, 2012 9:44 AM -
HI
I received this error message when i was trying to install 10g software on oracle linux 5.632 bit machine . how to resolve this issues
Checking consistency of file "/etc/resolv.conf" across nodes
Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
search entry in file "/etc/resolv.conf" is consistent across nodes
Checking DNS response time for an unreachable node
Node Name Status
rac2 failed
rac1 failed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: rac2,rac1
File "/etc/resolv.conf" is not consistent across nodes
Thanks[oracle@bdk-dev-db2 ~]$ time nslookup bdk-dev-db2
Server: 10.244.56.102
Address: 10.244.56.102#53
Name: bdk-dev-db2.dev.com
Address: 10.244.56.104
real 0m1.811s
user 0m0.003s
sys 0m0.004s
[oracle@bdk-dev-db2 ~]$ time nslookup bdk-dev-db1
Server: 10.244.56.102
Address: 10.244.56.102#53
Name: bdk-dev-db1.dev.com
Address: 10.244.56.103
real 0m0.007s
user 0m0.003s
sys 0m0.002s -
Gss and external dns deligation
I tried to make DR center to our company
The purpose is to connect to out company
for our internet customer
If we do it, We must setup external DNS server for delication to GSS?
If not, only to use GSS archive our purpose?
For example, for External GSS and advertise external gss's ip to ISP
the ISP look at our external gss ,
when the dns query reached to our gss,
the gss reponse the answer to isp?
Is it possible?HI syjeon ,
Pleae clarify your question.
Thanks,
~EM -
DNS response traffic getting dropped
We have a FWSM running 3.2 IOS in a cat 6509
Clients and server conducting queries against MS 2003 AD servers running DNS are having problems, and in the syslog I see messages like
Deny inbound UDP from 172.25.59.106/53 to 172.25.55.11/56465 due to DNS Response
UDP 53 is allowed from the subnets into the subnets/vlans where the DNS servers reside, and
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
has been enabled (the vlans have the same security level).
I have also attempted to turn off DNS inspection in the global policy (no inspect dns)
Nevertheless, these errors persist. Anyone have any ideas?David,
The RFC states and Cisco obliges that DNS responses should be less than 512Bytes. The Firewall will drop any DNS response over 512bytes, unles sthe size is increased. The changes to DNS for DNSSEC means that the 512byte limit is often exceeded.
http://www.cisco.com/web/about/security/intelligence/dnssec.html
Obviously, turning inspect off would negate the need for this command. Based on me missing that part of his post altogether. In which case its probably worth disabling DNS-GUARD..
Regards
Ju -
How to see the cached DNS result
Dear All,
Can anyone tell me how to see my DNS caching server cached info ? Where the info had been queried by some DNS clients.
Thanks a lot !
CKDepending on your bind version, but with recent version you can use rndc dumpdb
to let bind dump its cache. If you want to log the queries and clients you can turn on logging but please be aware of the overhead and disk usages. Please consult Sun document 816-4556 and Bind9ARM document. -
Hi,
I used following blog to Ajaxify a component
http://blogs.adobe.com/mtg/2011/11/building-components-in-adobe-cq5-part-2-a-tutorial-on-j query-ajax-and-sling.html
Basically this talks about creating a JSP file in conponent with name [ComponentName].json.POST.jsp to allow running custom code to return JSON.
My component is doing JCR search based a parameters and returning a JSON list (which could be different for different parameters)
So all went well till I discover performance issues with AJAX response time.
Is there a way in CQ5 to cache result of JSON and have it auto every x mins?
Thanks in adavnce.Thanks Justin. I have couple of questions to understand the proposed solution
1) Do you know how can I convert component POST to GET (for the reference blog). I tried renaming to myajaxsample.json.GET.jsp but it breaks component input dialog. Note that this component is making Ajax call to
<%= currentNode.getPath() %>.json
2) Can I force cache to update for cases when data for a particular JSON request is updated? -
Problem in SXI Cache refresh:Response Code 503
Hi all,
The SXI cache contents are not getting refreshed automatically on making changes in the Directory or Repository. Also, I am unable to refresh the cache contents manually in transaction SXI_CACHE.
I get the following error on refreshing: Response Code 503: Service Unavailable.
The RFC Destination INTEGRATION_DIRECTORY_HMI has correct entry in the URL(Path Prefix) and Test Connection from SM59 is working fine.
How do I make this work?
Regards,
Puloma Chaudhuri.Hi all,
The exact nature of the error on refreshing in SXI_CACHE is:
CacheRefreshRepositoryCommunicationException: Attempt to access application <b>REPOSITORY</b> using Http Method Invocation (<b>HMI</b>) failed. Detailed information: <b>Invoking ROA method "ReadObjects"</b> via HMI ... FAILED due to following exception: Message: Connection to system REPOSITORY using application REPOSITORY lost. Detailed information: Error accessing "http://server:50000/rep/remoteobjectaccess/int?container=ejb" with user "<b>XIDIRUSER</b>". Response code is 503, response message is "Service Unavailable"
Does that narrow it down?
Regards,
Puloma Chaudhuri. -
Q: WLS 7 Cache Filters (Response Caching) Keys, Vars?
I can't seem to find any better docs about setting up cache filters than this
http://edocs.bea.com/wls/docs70/servlet/progtasks.html#response_caching
specifically, what are some examples of the init params, Keys and Vars?
- especially in use with Servlets.
Can Keys be Attribute names? Parameter names? Headers? Cookies? Other?
And then what are examples of Vars?
"variables calculated by the page that you want to cache"
Does that really mean, it's cacheing a variable, like a resultset calculated in
the doGet, instead of the page (response)? If so what can those be? Or should
that have said "variables used to calculate the page"?
Let's say I have a Servlet which might be called like
myservlet?param1=A¶m2=B¶m3=C
and there are a few cookies, cookie1=X;cookie2=Y;cookie3=Z
In this case, only param1, param2, cookie1 can actually make a difference in the
response. So I want my cached keyed off those (and only those).
what would it look like?
<init-param>
<param-name>Key</param-name>
<param-value>?</param-value>
</init-param>
<init-param>
<param-name>Vars</param-name>
<param-value>?</param-value>
</init-param>
We are in process of updating the docs for cache filter. So they should be
in
better shape soon. Sorry for the inconvenience.
Here is an example:
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>weblogic.cache.filter.CacheFilter</filter-class>
<init-param>
<param-name>scope</param-name>
<param-value>session</param-value>
</init-param>
<init-param>
<param-name>timeout</param-name>
<param-value>30m</param-value>
</init-param>
<init-param>
<param-name>size</param-name>
<param-value>10</param-value>
</init-param>
<init-param>
<param-name>key</param-name>
<param-value>parameter.userid,parameter.clientip</param-value>
</init-param>
<init-param>
<param-name>vars</param-name>
<param-value>request.var1,request.var2,request.var3</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>/cached/*</url-pattern>
</filter-mapping>
Various scopes:
parameter -> request parameter
request -> request attribute
requestHeader -> request header
responseHeader -> response header
session -> http session
application -> context
cluster -> cluster scope (need to configure cluster listener for this)
key:
Syntax: Comma separated list of <scope>.<attribute name>
Typically a given cache is identified by it's cache name that you configured
in web.xml.
If that's not specified the request uri is used as a cache name. But using
keys you can
specify additional values to identify a tag. For example if you want to
separate out the
cache for a given end user, then in addition to the cache name you can
specify the keys
as the userid, values for which you want to pick it up from the request
parameter scope
(query param/post params) plus perhaps a client ip. So you will specify your
keys as:
"parameter.userid,parameter.clientip"
Here "parameter" is the scope (request parameter scope) and
"userid"/"clientip" are the parameters/attributes.
This means the primary key for the cache becomes the cache name (request uri
in this
case) + value of userid request param + value of clientip request param.
Note: If you don't specify the scope the cache system will search all the
scopes
for the attribute.
size:
For caches that use keys, the size element defines the number of entries
allowed.
The default is an unlimited cache of keys. With a limited number of keys the
tag
uses a least-used system to order the cache (BubblingCache).
vars:
Same syntax as the key:
Syntax: Comma separated list of <scope>.<attribute name>
Variables are used to do input caching. So you can save the variables you
used to calculate the cache. When the cache is retrieved the variables are
restored back to the scope you specified. For example for retrieving results
from
a database you used var1 from request param, var2 from session etc. So
when the cache is created the value of these variables are stored with the
cache. When the cache is accessed next time these values are restored
so you will be able to access them from respective scopes. For example
var1 will be available from request and var2 from session.
Hope this helps.
--Vinod.
"Stek" <[email protected]> wrote in message
news:[email protected]...
>
> I can't seem to find any better docs about setting up cache filters than
this
>
> http://edocs.bea.com/wls/docs70/servlet/progtasks.html#response_caching
>
> specifically, what are some examples of the init params, Keys and Vars?
> - especially in use with Servlets.
>
> Can Keys be Attribute names? Parameter names? Headers? Cookies? Other?
>
> And then what are examples of Vars?
> "variables calculated by the page that you want to cache"
> Does that really mean, it's cacheing a variable, like a resultset
calculated in
> the doGet, instead of the page (response)? If so what can those be? Or
should
> that have said "variables used to calculate the page"?
>
> Let's say I have a Servlet which might be called like
> myservlet?param1=A¶m2=B¶m3=C
> and there are a few cookies, cookie1=X;cookie2=Y;cookie3=Z
>
> In this case, only param1, param2, cookie1 can actually make a difference
in the
> response. So I want my cached keyed off those (and only those).
>
> what would it look like?
>
> <init-param>
> <param-name>Key</param-name>
> <param-value>?</param-value>
> </init-param>
> <init-param>
> <param-name>Vars</param-name>
> <param-value>?</param-value>
> </init-param>
>
-
Hi,
I am trying to get the response from the result of performing a pageContext.include("myPage.jsp") so that I can store it in cache to use the next time the page is loaded (for performance reasons). Does anyone know how to do this?
Much Thanks!!Specifically, I want to get the String or byte array containing the page that will get sent back to the browser.
-
Refreshing cached DNS directory
So it looks like when a DNS zone is listed (using a DirContext.listBindings() method) it is cached so that subsequent calls to listBindings will not cause another zone transfer.
However, in my case I would like to force another DNS zone transfer. I've tried closing the context. I've tried creating a brand new context (using InitialDirContext()) to no avail.
Is there a way to force this DNS zone transfer upon demand?I'm working around this limitation by setting a very short TTL in the DNS records. This is just a guess, but I think the DirContext is trying to be smart about when it should initiate another zone transfer based on the TTL.
-
GSS as primary DNS Server for Intranet
Hi,
Can the GSS be used as a as primary DNS server for Intranet? An additional DNS server can be configured to answer the unknown Records like MX by GSS.
if it can be configured, I would be thankful if anyone shares with me the brief configuration steps Apart from configuring Answers, answer groups, domain lists, source address lists, DNS rules.
with thanks
sathappanYeah I'd certainly recommend against it! So essentially the client machines are unable to update or query dynamic AD related DNS records since they're not pointing to the DNS servers actually used by your AD server(s). I could well imagine that causing
issues, and meaning that some AD functionality won't work correctly.
I know you can directly integrate BIND with AD, eg so that the BIND servers are the ones used by AD, though I haven't tried it, but this seems to be neither.
I can't find any articles relating to your exact situation, presumably no one else has tried to use such a mixed and disjoined setup. I'd focus on looking for articles relating to why you shouldn't point your users at a router (most commonly in small setups
on ADSL) for the DNS rather than directing them to the server for DNS and then having that query the router for external results. It's a more common scenario and you're more likely to find articles relating to it.
One article you might find useful is
http://msmvps.com/blogs/acefekay/archive/2009/08/17/ad-and-its-reliance-on-dns.aspx which talks in terms of using your ISP's DNS servers on the client machines, but in your situation it sounds like the BIND servers are essentially providing an equivalent
setup.
There's also various discussions and comments on the topic elsewhere on these forums, for instance
http://social.technet.microsoft.com/Forums/windowsserver/en-US/c3ba3859-765e-4b3f-add0-eaf2c18e1068/i-have-dns-in-a-router-and-i-want-to-install-domain-controller?forum=winservergen and
http://social.technet.microsoft.com/Forums/windowsserver/en-US/b5df8fd4-7ab2-4d1e-afe2-c5263c4d69c3/dns-server-forwarding-and-clients-getting-address-of-registrars-ip?forum=winserverNIS which are worth checking out.
Maybe you are looking for
-
My credit card was charged instead of iTunes gift card?
So I recently just got a $10 iTunes gift card. I redeemed it in the iTunes store, but when I went to buy a book for 8.99, I think it charged my credit card instead of the money on my iTunes card! It still says I have $10.00 left, what do I do?
-
Database limits for Grid control repository?
Document "Oracle® Database Licensing Information / 10g Release 2 (10.2)" [Part Number B14199-10] discusses the restricted use license of database for grid control repository and rman repository use. nfrastructure Repository Databases A separate Oracl
-
Abstract class implements Cloneable... How?
I have an abstract class that is inherited by many many subclasses. I wish to make this abstract class a cloneable. Most of the subclasses are using the protected fields inherited from the abstract one, they almost never add any extra field. So it wo
-
DeadBand-Sets the percent of change within a range that a value from the OPC server must change before the OPC server communicates the value to the Shared Variable Engine. I can't understand how OPC Server relize data range for different OPC items, w
-
Probleme beim drucken auf DIN A3
Hallo Zusammen, ich hoffe es kann mir jemand helfen. Ich arbeite als IT-Techniker (also kein Fachmann für Photoshop). Bei einem unserer Kunden haben wir folgendes Problem: Die Mitarbeiter müssen ständig auf DIN A3 drucken, leider funktioniert dies ni