Forte's benchmark
Hi,
I'm looking for some benckmarks of Forte architecture
on 2-tier and 3-tier C/S.
And where can I find articles or whitepapers about
load balancing and transactional locking in Forte.
Many thanks
Herve
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
George,
I'm rusty with Forte and I'm not sure about signals on Solaris
but the mention of threads on Solaris brought to mind a couple
points that you should know. This was true as far as I can
tell in 3.0.E.0 on Solaris 2.6.
1. By default in interpreted partitions FTEXEC does not use
solaris threads, it uses Forte threads. You must tell it
to use DCE threads.
Once you're in the partition workshop you can bring up the
partition properties for the server partition that you want
Sun threads for. In the properties dialog there is an option
called "Thread Package". If you choose DCE then it'll use
Sun threads.
2. Compiled partitions require yet another trick.
You must add the flag "-tlpt" which I believe stands
for "thread library posix threads", meaning DCE threads,
meaning native threads.
Turn on trace flag "trc:os:14" on your Solaris box before
starting up the compiled partiton. This will show all
the shared libraries getting loaded into the partition.
install/lib/libqqptli.so is the posix thread library.
Regards, and good luck.
[email protected]
Hi there,
Could somebody please tell me which signals does Forte use to
schedule thread-switching on Solaris 2.5? or does Forte catch
the following two signals, SIGSEGV and SIGBUS?
Thanks a lot.
George
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>------------------------------------------------------------------------
Any views expressed in this message are those of the individual sender,
except where the sender specifically states them to be the views of
Reuters Ltd.
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
Similar Messages
-
RE : Who would benefit from Forte?
RE : Jerry Fatcheric's message about "Who would benefit from Forte?"
With regards the point mentioned in the attached message from Jerry
Fatcheric below, I would like to illustrate my point. I implemented in both
Visual Basic and Delphi, the example that is mentioned in the attached
message, about a browser application, having the capability to browse
thousands of records with the inital screenful needing to come ASAP. It took
me less than 2 minutes to implement this in VB (I timed it). Just threw a
"remote data" control and a "DBGrid" control on a form, set a few properties
and wrote a "select *" sql specifying that only 30 records be returned at a
time. For a table with 4K records, the first 30 came in and got displayed in
less than 2 seconds. In Delphi, the response was even better and whole 4K of
record could be retrieved in less than 4 second. (Yes less than 4 seconds
for retrieving 4000 records from a DB2/NT database running on a remote
machine). Even I could not believe the performance of Delphi which I haven't
used that much. These tools are THE fastest way to get the data from a
database server to a windows client. These will perform any day better than
FORTE. One of the problem that I came across FORTE in one of situations like
this was data movement across nodes is very costly. In one of our
applications, since we stored the data as objects, in a similar situation as
you have mentioned, the performance of moving a lot of data form the server
to the client was not very good and in consulation with FORTE technical
support we had to convert the data in objects to scalar (delimited string),
move across node, and convert the data back to object at a client.
Performance increase - 40 secs. vs 120 secs. earlier.
About my background. I have worked about 8 years in application development
and for the past 4 years have been working in a client server environment.
Being a consultant, I have used many tools, including FORTE for one year, to
provide my clients with the most bang for their buck, which to me is the
topmost priority as a Consultant. I do not decide for my clients what
technology they should use but sure evaluate the various options they have
and recommend more than one solutions, listing the advantages and
disadvantages.
Currently working on coming up with a solution for a client with a customer
service application need with around 50 users now, scaling up to 100 users
in the future. The best solution that I could come up with was a logical
3-tier with the presentation and the business layer running on NT
workstation (client) and the database on NT server (server). With all the
processing on a powerful and healthy (not "fat") client the system, I feel
can scale very well. For a 500 user system, you literally have 500
application server (physically on the client machine) being served by one
data server. To the data server, having a physical middle tier between the
client and the data server, I feel would not help, at least in our
situation. Almost everything that the middle tier could do to reduce the
load on the data server can be handled by the "business layer" running on
the client machine. It does mean that each user connects to the database
directly so in a case of 500 user, there are 500 connections to the database
but lately with the sophisticated DBMS, this is no longer an issue. The DBMS
can manage this many user very economically (read the benchmark about SQL
server with 5000, yes 5k user at "www.microsoft.com/sql") and almost as well
as a middle tier. It is fault tolerant - nothing can bring down the system
except a client failure, the data server failure or a network failure, the
same failure points as a N-Tier solution unless you are replicating or
duplicating the database. In our solution our application is as scaleable as
the database is, and the databases available today are very scaleable if you
look at the current database technology offerings.
As you may have guessed the abovementioned solution is cheaper with a very
fast "time to market" than a forte solution (we started this about 6 months
back and are in production for the past 1 month). This may not have all the
features that FORTE offers, but for our purposes and I feel in similar
applications, what we got was what we needed. By no means, this is going to
meet all information tecnology needs for everyone and in many situations I
believe FORTE would be well suited than any other tool.
I still use FORTE can would continue to do so for some of the solutions that
we develop, but I do not think that one shoud be using FORTE for "any
development that is bigger than a breadbox" as Mr. Fatcheric suggests in the
attached message, simply because if I do that, than I think that in some
cases I would be selling the user a tank when the user just needs a rifle.
I consider giving my clients the most value for their money in getting this
solution developed. I would suggest my clients FORTE when I think they needs
them but would definitely suggest another solution if I think that they can
get their solution developed and get more value for their money using some
other tool. Towards this end I would like to find out what kind of solutions
people are developing and what kind of performance they are getting
specially related to Windows platform.
Any information about the benefits (actual benefits) you are getting from
FORTE would be highly appreciated which would let a lot of us decide when to
use FORTE and when not to use FORTE to meet ours and our clients'
everchanging information technology needs.
- Ari Singh
[email protected]
Ari Singh wrote a provocative piece questioning the benefits of Forte
in "Windows only", non-large scale applications. Rather than get into
a large philosopical discussion, I would like to illustrate my point
with an example taken from a current Forte project.
First, my background: 10+ years in Client server applications. Worked
for several years at Oracle and have experience with Sybase. Worked
extensively with a 2 tiered CS product (Uniface) and write C and C++.
NOT a Windows expert.
In our current application, the requirement is to allow the user to
browse literally thousands of records on the Windows Client. There will
never be lots of users doing this, but the ones that do must have
reasonable performance. Our initial tests indicated that if we simply
had the server pump the data to the client, we would have significant
performance problems and face memory limitations on the PC. SO we
utilized Forte's N-tiered capabilities. When the user starts a query
(using dynamic sql with user controlled WHERE and ORDER BY), we start
an asynchronous retrieval on the server with data is cached in an
anchored object on the server. When the query has found the first
THIRTY (30) records (2 screens worth), it posts an event to the client
and the client request the first thirty. The retrieval process continues
independently while the user can browse data on the client. Not until
the user scrolls down far enough does the client again request more
data. If the user quits from the screen or starts a new query, the
first one is cancelled. Otherwise, the query runs to completion on the
server.
This approach gives us 3-5 second response time regardless of the size
of the query result set. It minimizes the data on the client (moving
us toward a thin client). The kicker is that with the help of Martha
Lyman from Forte, we developed this technique in about 4 hours! Add
to this all the standard inheritance, OO stuff, partitioning,
customized monitoring, etc, etc, and IT IS MY OPINION that Forte
is a GOOD tool for any development that is bigger than a breadbox
and worth the $$$. And that's the way it is.... SO there...
Jerry Fatcheric
Relational Options, Inc.
Florham Park, New Jersey
201-301-0200
201-301-00377 (FAX)
[email protected]RE : Jerry Fatcheric's message about "Who would benefit from Forte?"
With regards the point mentioned in the attached message from Jerry
Fatcheric below, I would like to illustrate my point. I implemented in both
Visual Basic and Delphi, the example that is mentioned in the attached
message, about a browser application, having the capability to browse
thousands of records with the inital screenful needing to come ASAP. It took
me less than 2 minutes to implement this in VB (I timed it). Just threw a
"remote data" control and a "DBGrid" control on a form, set a few properties
and wrote a "select *" sql specifying that only 30 records be returned at a
time. For a table with 4K records, the first 30 came in and got displayed in
less than 2 seconds. In Delphi, the response was even better and whole 4K of
record could be retrieved in less than 4 second. (Yes less than 4 seconds
for retrieving 4000 records from a DB2/NT database running on a remote
machine). Even I could not believe the performance of Delphi which I haven't
used that much. These tools are THE fastest way to get the data from a
database server to a windows client. These will perform any day better than
FORTE. One of the problem that I came across FORTE in one of situations like
this was data movement across nodes is very costly. In one of our
applications, since we stored the data as objects, in a similar situation as
you have mentioned, the performance of moving a lot of data form the server
to the client was not very good and in consulation with FORTE technical
support we had to convert the data in objects to scalar (delimited string),
move across node, and convert the data back to object at a client.
Performance increase - 40 secs. vs 120 secs. earlier.
About my background. I have worked about 8 years in application development
and for the past 4 years have been working in a client server environment.
Being a consultant, I have used many tools, including FORTE for one year, to
provide my clients with the most bang for their buck, which to me is the
topmost priority as a Consultant. I do not decide for my clients what
technology they should use but sure evaluate the various options they have
and recommend more than one solutions, listing the advantages and
disadvantages.
Currently working on coming up with a solution for a client with a customer
service application need with around 50 users now, scaling up to 100 users
in the future. The best solution that I could come up with was a logical
3-tier with the presentation and the business layer running on NT
workstation (client) and the database on NT server (server). With all the
processing on a powerful and healthy (not "fat") client the system, I feel
can scale very well. For a 500 user system, you literally have 500
application server (physically on the client machine) being served by one
data server. To the data server, having a physical middle tier between the
client and the data server, I feel would not help, at least in our
situation. Almost everything that the middle tier could do to reduce the
load on the data server can be handled by the "business layer" running on
the client machine. It does mean that each user connects to the database
directly so in a case of 500 user, there are 500 connections to the database
but lately with the sophisticated DBMS, this is no longer an issue. The DBMS
can manage this many user very economically (read the benchmark about SQL
server with 5000, yes 5k user at "www.microsoft.com/sql") and almost as well
as a middle tier. It is fault tolerant - nothing can bring down the system
except a client failure, the data server failure or a network failure, the
same failure points as a N-Tier solution unless you are replicating or
duplicating the database. In our solution our application is as scaleable as
the database is, and the databases available today are very scaleable if you
look at the current database technology offerings.
As you may have guessed the abovementioned solution is cheaper with a very
fast "time to market" than a forte solution (we started this about 6 months
back and are in production for the past 1 month). This may not have all the
features that FORTE offers, but for our purposes and I feel in similar
applications, what we got was what we needed. By no means, this is going to
meet all information tecnology needs for everyone and in many situations I
believe FORTE would be well suited than any other tool.
I still use FORTE can would continue to do so for some of the solutions that
we develop, but I do not think that one shoud be using FORTE for "any
development that is bigger than a breadbox" as Mr. Fatcheric suggests in the
attached message, simply because if I do that, than I think that in some
cases I would be selling the user a tank when the user just needs a rifle.
I consider giving my clients the most value for their money in getting this
solution developed. I would suggest my clients FORTE when I think they needs
them but would definitely suggest another solution if I think that they can
get their solution developed and get more value for their money using some
other tool. Towards this end I would like to find out what kind of solutions
people are developing and what kind of performance they are getting
specially related to Windows platform.
Any information about the benefits (actual benefits) you are getting from
FORTE would be highly appreciated which would let a lot of us decide when to
use FORTE and when not to use FORTE to meet ours and our clients'
everchanging information technology needs.
- Ari Singh
[email protected]
Ari Singh wrote a provocative piece questioning the benefits of Forte
in "Windows only", non-large scale applications. Rather than get into
a large philosopical discussion, I would like to illustrate my point
with an example taken from a current Forte project.
First, my background: 10+ years in Client server applications. Worked
for several years at Oracle and have experience with Sybase. Worked
extensively with a 2 tiered CS product (Uniface) and write C and C++.
NOT a Windows expert.
In our current application, the requirement is to allow the user to
browse literally thousands of records on the Windows Client. There will
never be lots of users doing this, but the ones that do must have
reasonable performance. Our initial tests indicated that if we simply
had the server pump the data to the client, we would have significant
performance problems and face memory limitations on the PC. SO we
utilized Forte's N-tiered capabilities. When the user starts a query
(using dynamic sql with user controlled WHERE and ORDER BY), we start
an asynchronous retrieval on the server with data is cached in an
anchored object on the server. When the query has found the first
THIRTY (30) records (2 screens worth), it posts an event to the client
and the client request the first thirty. The retrieval process continues
independently while the user can browse data on the client. Not until
the user scrolls down far enough does the client again request more
data. If the user quits from the screen or starts a new query, the
first one is cancelled. Otherwise, the query runs to completion on the
server.
This approach gives us 3-5 second response time regardless of the size
of the query result set. It minimizes the data on the client (moving
us toward a thin client). The kicker is that with the help of Martha
Lyman from Forte, we developed this technique in about 4 hours! Add
to this all the standard inheritance, OO stuff, partitioning,
customized monitoring, etc, etc, and IT IS MY OPINION that Forte
is a GOOD tool for any development that is bigger than a breadbox
and worth the $$$. And that's the way it is.... SO there...
Jerry Fatcheric
Relational Options, Inc.
Florham Park, New Jersey
201-301-0200
201-301-00377 (FAX)
[email protected] -
Re: I/O throughput using FORTE
Wayne,
I've been involved in benchmarks with Forte. I'd venture to say your C code
is just the beginning of exposing one of many issues for highly distributed
/ scalable system.
With all the distributed transaction integrity elements of Forte, for
high-volume situations you will need to buffer your payload before sending
to the remote side for processing in order to accomplish your 700k/sec rates.
I've accomplished (800k/sec) 1600 msgs/sec w/ 500 bytes/msg using 2x DEC
Alpha Unix 2100 4CPU 2GB Mem and 2x DEC Alpha 8400's w/ 4CPU 2GB Mem. This
was done in Jan '96 (>20 mos ago) and so I know today's hardware can
accomplish even higher rates using these same approaches.
But the basics will include the need for multiple client
"listeners/generators" and multiple server "consumers/processors". The N:M
ratio is quite easy to scale given any number of hardware/OS/CPU speed
configurations you may have to deal with.
Call me to discuss further.
-jim
>>
Hi all,
I am currently developing an application that will be extensively I/O and
CPU bound and have developed a proto-type to determine throughput. My
experiences so far has been less than desirable as compared to a "C"
version. Results reflect a 700000 byte/second throughput rate with the "C"
version vice 7000/second using the Forte proto-type. The Forte module is
compiled natively on an Alpha running DEC Unix. The response time is
significantly lower than expected. Does anyone have experience in high
through put applications such as described above or has come across a
similar problem when developing in Forte?
Thanks in advance,
Wayne
Jim Rice mailto:[email protected]
Forte Software, Inc. http://www.forte.com
South Eastern Tech Sales Mgr.
301-721-1910 Corp: 510-869-3400 x2316Hi
If you are using a plain vswitch in the primary domain to transfer data between LDOM B & LDOM C , yes there will be higher latencies than copying between two Zones using the same kernel in LDOM A. ( a copy between zones stays in the same kernel )
How many cores does you primary domain have ? is it noticeably loaded while the copying is running ?
Historically the slowdown of Ethernet I/O when using a vswitch , ( instead of an I/O Domain) was approx 25%
The new solution here is the SR-IOV feature to bypass a vswitch and talk directly to the network adapter via DMA
from the virtual machine. But you want to go back into the server to another VM ! So If you set up SR-IOV for both LDOM B and LDOM C, you would need to bounce in the physical switch outside the server , I cant say if that would be faster or slower.
//Lars -
Best Practice of DMS in Auto-Industry & benchmarks
Hi Experts,
what is the best practice in DMS for auto-induastry?
Also we need centralized server and cache servers at plant level. what will be the best practice? and archiving solutions?
what is benchmark for defining content and cache server size?
Regards,
Ravindraanswered outside sdn
-
RE: (forte-users) 3J= 3M new to me error
Hi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Using Forte 3.0 to deploy web app to iPlanet Web Server
Is anyone familiar with using Forte 3.0 to develop/deploy a web application to an iPlanet Server?
All I need is a simple walkthrough to create/deploy a "Hello World" app (it could be just a JSP) or a link to some document that covers this topic.
ThanksFor anyone who cares
First make a web module, then make a web application and add the web module you made. When adding it the Mapping field should contain whatever context of the module is. Then deploy the application. -
Problem with my MSI 290x gaming 4g performance in unigine valley benchmark.
First im dutch(netherlands) so sorry for my maybe bad english.
My system is:
Asus p8z77 v deluxe mb
intel 3770k cpu
16gb ram 1866 Corsair
2x ssd 256 gb OCZ
MSI 290x gaming
win7 64bit ultimate.
When i came home with my card i removed my old 7970 and replaced it with my new card.
Put some programs up like gpu-z cpu-z realtemp ext.
Then run Unigine-valley Benchmark with OC tool MSI at 1040 option.
My cpu at 4.2ghz OC
Score Unigine valley v1.0: 61.1 fps-score2558-min fps 30.3/max fps 112.8
Custom settings at 1920-1080 and ultra 8x aa windowed.
Seems ok result.
Now to problem i have.
So next i did (dumb me hehe) i try OC my CPU with All-suit II from ASUS to OC cpu extreme mode which stress test untill stable clock is found.
Got a crash bluescreen and then after few attemps stable 4.3.
Then did new benchmark and my score was alot lower and nomatter what i try my 290x did not pass 60fps any more and score dropped to 2100?
3dmark firestrike gave first time score of 9655 and after my disaster with cpu failed attemp 9200.
My card is stuck at 60fps max it won't get any higher?
The GPU-Z also show PCI-E 3.0 X16@ X1 1.1and when i activate render i see it only change to x16 1.1 i never see gen 3.0.
CPU-Z info motherboard also only pci-express link with x1 and x16
My questions is how can o solve this problem it seems my motherbaord don't reconize my videocard anymore?
Also posible that something with the OC attemp CPU broke something?
I also try change from AUTO to GEN3 in bios but then i get a blackscreen when i boot up it stays backscreen, have to change it switch videocards so i can see my boot again and go into BIOS.
Im at a lost here, hope one of you know a solution or whats my problem?
Hope ive supply enough info im bit of a newbie at this sorry for that.
Thanks in advance.>>Clear CMOS<< of your board and retry.
-
Hi All. I live outside of the USA and have an iPhone 4s. I'm going to Fort Lauderdale, FLA and want to data service for my iPhone ( navigation using google or imaps, browsing and voip ing when no wi fi available). I browsed the net but seems almost impossible. When I visited Toronto I was able to get data thru Koodo but I don't think this is offered in the USA. Anyone who has real experience with this please help. This is a situation that is best aided by persons who have experienced it. Thanks
Have a look here:
http://forums.macrumors.com/archive/index.php/t-982315.html -
Forte Transaction Management & 2PC
Forte Transaction Management & 2PC
The main purpose of 2PC in a distributed transaction manager is
to enable recovery from a failure that occurs during the window
of transaction commit processing. The Forte transaction manager was built
with this in mind but only with respect to the "volatile" (or "in memory")
objects that Forte manages. What this implies is that because Forte stores
objects in memory and not persistently on disk, the requirement of recovery
for these objects is significantly reduced (if not eliminated all together).
Forte follows a distributed 2PC model in that tasks and messages carry
along with them transaction identification and, during commit processing,
every distributed participant is polled for its availability to commit
the transaction. Applications saving persistent data to disk during a
distributed Forte transaction need to concern themselves with the potential
for failure during the commit processing window. Forte's prepare phase polls
each site (confirming a communications link with each distributed participant)
but no prepare request goes to the database primarily because (in release 1 and
2 of forte) no database supported a general distributed two-phase commit
(one could take issue with that in the case of Sybase, but rather than debate
this point, suffice it to say that the general direction in the industry for
support of this functionality was through TP monitors -- more on that later).
Once all sites are ready to commit Forte expects that the commit will
complete successfully. If at this moment, for example, a participating
Sybase server terminates (with data not yet committed) while a participating
Oracle server has already committed its unit of work, then the outcome of
the distributed transaction is inconsistent - if no one has yet committed
Forte will still abort the transaction. This "window of inconsistency"
is documented in the Forte TOOL manual.
Mission critical applications that require distributed transactions can
address this window of inconsistency in a number of ways:
* Utilize a TP monitor such as Encina (see below)
* Log distributed updates in an auxiliary database table (much like a
distributed transaction monitor's transaction-state log). This approach has
been the traditional banking application solution prior to the commercial
availability of products like Encina, Tuxedo, TopEnd, etc.
This solution is somewhat complex and is usually not generic enough
so as not to have to change code every time a new table or database
site is introduced into the application's data model.
* Rearrange the data model in order to eliminate the need for distributed
transactions. This is usually only a temporary solution (with smaller
numbers of active clients) and cannot be applied to complex legacy systems.
With the advent of the X/Open distributed transaction architecture (the
XA Interface) more database vendors have found that by complying with the
XA interface they can plug their database-specific implementation of
transaction into a globally managed transaction, with commit and abort
processing being conducted by a central coordinator. Of course, the
overall transaction manager coordinating the global transaction must
itself, persistently record the state of the different distributed
branches participating in the transaction. A significant portion of
the functionality provided by products such as Encina, Tuxedo, TopEnd and
OpenTP1 is to provide exactly this global transaction management.
Rather than extend the Forte distributed transaction manager with the
functionality necessary to manage and recover distributed transactions
that modify data on disk, Forte has chosen to integrate with the emerging
set of commercial transaction monitors and managers. This decision was
built into the original design of the Forte transaction model (using XA and
early Tuxedo white-papers as guidelines):
* In Forte release 2 an integration with Encina was delivered.
* In January 1997 a press release announced an integration of
OpenTP1 with Forte for release 3.
* The Forte engineering staff is currently investing integration
with other transaction management products as well.
Neil Goodman,
Forte Development.You don't. ("manage" a transaction)
There is nothing really to "manage".
A transaction is automatically started when you make any changes to data (e.g. fire off a DML statement).
You simply needs to issue a COMMIT or ROLLBACK when needed. A COMMIT at the end of the business transaction and not before (i.e. no committing every n number of rows). A ROLLBACK when hitting an exception or business logic error that requires the uncommitted changes to be undone.
That in a nutshell is it. It is that simple.
Oracle also supports creating savepoints and rolling back only some changes made thus far in the transaction.
The only other thing to keep in mind that a DDL in Oracle issues an implicit commit. Firing off a DDL with cause any exiting uncommitted transaction to be committed.
Transaction "logic/management" should not be made more complex than this. -
Automated Testing of Forte Applications
Dear Jim,
This is a technical and education Forum and I want to make sure everyone is
"educated" to your options out there. Our company specific purposes is
delivering testing solutions for Forte Developed applications. (Primary
responsibility is to help developers and qa staff) I have tried to answer
you questions as follows and to educate fellow Forte people on solutions
available to them. If you need more discussion about our tools, please
contact me directly.
To anyone interested in testing Forte Applications:
1) What product are developers using to automate the process of testing
Forte applications?
IQTest- Unit Level Testing Tool that tests specific Forte methods and
saves them for automatic regression testing.
IQTrace: Unit Level Pathway Testing. Tests specific method level and
functional threads and saves them for automatic regression testing.
2) If there is a tool, how long does it take to create a typical test?
- Class I.Q. automatically generate the test classes and instantiates the
object under test. A typical setup for a developer is about 30 minutes
which is done once. The actual process of testing methods or traces takes
seconds. All tests are saved to any Forte database for automatic
regression testings.
3) Can the test include the testing of persistance to a database?
Yes, Our products are written to test persistance in a database and all
fully supported to test service objects which is currently a major issue
that most development teams are running into problems with.
4) What type of testing can be performed: black box testing, white box
testing, integration testing, UI testing, etc.?
Class I.Q. is considered a "White Box" approach to testing. It is
exercising the source code and creating an output for each method call.
The test cases then are dynamically linked into a trace.
Some of the features of Class I.Q. Products:
- Automatic Test Class Generation
- Saving of Test Cases and Test Traces
- Groups A queue for Different Testing Responsibilities
- Linking to Any Forte Supported Test Configuration Product
Thank you,
Any additional questions please call or email me directly.
Joe Burns
Class I.Q.
610-254-5151
[email protected]
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>We have used JMETER from Apache foundation. This is more a stress test tool, but you can also use it for unit testing, as it allows you to record a serie of HTTP requests.
Since your question is not related to JHeadstart, you better post this question on the JDeveloper forum.
Steven DAvelaar,
JHeadstart team. -
GT70 2PC: 870M does not activate, benchmarks and performance ingame confirm this
I bought myself a GT70 2PC Dominator (the SSD version) with an 870M inside, and after starting several games, checking benchmarks and comparing framerates to my current desktop machine (which has an i5 2500K and a GTX 770), I find that, even after configuring the machine to prefer the "powerful Nvidia processor", and setting all games to use the Nvidia processor, it still uses the 4600 processor. I'm getting rather low framerates, I'm not hearing any fan speed increase, Benchmarks ingame like the one from Sleeping Dogs still report the 4600 GPU and some games won't even boot up properly (like Just Cause 2). I did configure all the games to use the Nvidia GPU in my Nvidia Control panel, I updated my drivers, Device manager is finding both cards.
Is there a way to tell my laptop "Look, I don't care about saving my battery, I don't care about noise, I don't care about heat (as long as it does not damage anything), just ALWAYS use the Nvidia GPU, even when it's not needed, so I can actually have some enjoyment out of the 1600 EUR I spent on this machine"?Check your power button light and see if it lights red(red=dgpu, white=igpu) and make sure you've attached battery with AC plugged while playing games.
Fan speed is changing by different cpu/gpu temperature, so check the temperature and the fan speed in Dragon Gaming Center and compare the temperature and the fan speed under different situation.
Can you tell the graphics driver version you're using? (both Intel and NVIDIA one)
Sadly for the Optimus structure, you can't disable the single graphics but you should be able to use the dGPU to run the game. Except the settings in NVIDIA Control Panel, you can also try to right click on the shortcut of the game and choose "run with graphics processor"> "High-performance NVIDIA processor" -
Re: Forte and Dialup PPP connections
Subject: Forte and Dialup PPP connections
Priority: normal
Reply-to: "Dexel Durban" <[email protected]>
We want to run Win 95 on our client forte machines. Currently we're
using Forte v2.0E and MS TCP/IP.
Everything works fine in the LAN enviroment, however these client
machines have to run at remote sites, and therefore will need to use
modems with dialup PPP links.
The catch with the dialup procedure is that they will dial into a box
which verifies their username/password and then dials them back (for
security reasons) and sets up the PPP conection.
The only software that seems capable of setting up a PPP connection
after someone dialing your machines, is a product called Fastlink which
we're using.
After we've set up the PPP connection and run forte it works 100%,
however if we come out and run forte again - it can't establish the
connection to the host.
What we've deduced from this is that possibly :
1) MS TCP/IP isn't cleaning up after itself after the first
connection
2) The problem lies with Fastlinks ODI driver.
My questions are :
1) Has anyone managed to get forte running over a modem using PPP,
with the call-back verification procedure outlined above ?
2) In the Forte doc's it says that Forte is only compatible with Win
95 and MS TP/IP no other TCP/IP stack - is this true, or has someone
managed to get another stack working ?
Any help would be greatly appreciated !
- Carl
I have some similiar problems that basically were solved by a fix to one of the
ip executables. For this particular situations I was using Lan Workplace for DOS
Version 5 and just visited their web site and looked for a description similiar
to the problem I was having to determine the right patch. It sounds like when
you let go of your connection that the com port is probably still being held and
not beig released. I could be wrong but.... are you getting any other type of message?Thank you for your answer, David.
We are considering the splitting of one VMS partition into several ones to
streamline some functionality. Currently the communication between the
implied components is handled within the existing partition. By splitting it
we are expecting some performance loss due to interpartition communication
overhead and, since the number of messages expected will be high, we were
wondering if they will be needlessly going through the whole network stack
or transferred directly via socket IPC, as can be done in the Unix boxes.
The answer would help us tune-up the system by focusing at the right
parameters during testing of the new setup.
Alberto Lamas
Datamed SA -
We have no problem using JDK 1.1.5. However, we are using Orbixweb. If
you are accessing the applet and the IOR file from the same host (exact
host name), then one other possibility is the JVM compatibility for your
browser. Using Javasoft's Activator or appletviewer should resolve
that.
-----Original Message-----
From: Kamran Amin [SMTP:[email protected]]
Sent: Tuesday, March 10, 1998 7:48 AM
To: '[email protected]'; '[email protected]'
Subject: RE: Java and Forte
Dan,
We had the same problem as you are having regarding question
one. Make
sure you are
using JDK 1.1.3 or 1.1.4. It did not work for me when I was using JDK
1.1.5. Also you have to
use the gatekeeper to make the applet work. Hope this help.
Kamran Amin
Forte Technical Leader, Software Engineering
[email protected]
203-459-7362
Oxford Health Plans
48 Monroe Turnpike
CT, Trumbull 06611
http://www.oxhp.com/
From: [email protected][SMTP:[email protected]]
Sent: Monday, March 09, 1998 7:49 PM
To: [email protected]
Subject: Re: Java and Forte
1. I have been able to make my Java client appllication call-in to a
Forte service object with success. However the tricky part beginswhen
I try to do the same with a Java applet. I get an exception returned
which is an AppletSecurityException. I understand that running a Java
applet in a browser has two limitations, one being the Java applet
sandbox and the firewall restriction. As I am only running my Java
applet and the Forte service object on the same node, this rules out
the latter.
I have tried running the Gatekeeper from the same directory as myJava
client application, which includes all the client stub files
(including stub files which are generated from Forte supplier plans
such as those in the Framework folder). However, I still receive the
AppletSecurityException.
How can I go about making this operation successful?
**AppletSecurityExceptions can be caused by many problems--trying toaccess
machines other than the class download machine, or trying to accessserver
side classes outside the defined directory structure in the webserver. I'd
look closely at the classes that are being brought into memory (forexample,
Visibroker's ORB shows you each file as it is loaded) and make sureyour web
server is defined correctly. If you follow the Forte technotesclosely, it
usually solves this problem.
2. Has anyone tried implementing a 'fat' client, one that combines a
Forte web application, JavaScript, and a Java applet client toperform
operations such as validation and a tiny bit of data processing allon
the client side, relieveing the application server from such
operations? If yes, how do I implement the solution, and are thereany
tech notes from Forte that specifically tell me how to do this?
**We have created a Java framework that follows many of the designpatterns
and naming conventions as our Forte framework. The Java classes canbe
extended to marshal and unmarshal scalar data structs passed acrossthe ORB
boundary to instantiate 'thick' functional objects on the client, andas much
processing and as many business rules as wanted can be developed inthe
client
Java objects.If you look at the exception information in the iiop manual it
discusses exteneded propties DefaultThrowsClause, ThrowsClause and
IsThrowable.
If you mark your exception class with IsThrowable it will show up in the
IDL as an exception. If you use either DefaultThrowsClause(project) or
ThrowsClause(method) you will get the appropriate raises in the idl.
This will cause the idl2java to produce code which will allow you to catch
the exception.
Tom.
At 09:41 AM 1/29/99 +0100, Giuseppe Sorce wrote:
>
Hi all,
I am currently working to an architecture to establish a communication
between a Forte' server and a Java client, using Visigenic's Visibroker and
IDL mode.
I have problems when I try to raise a Forte' exception from a method
invoked by the Java client; I would like the exception class
(ProductException) not to inherit from the class GenericException, because
the IDL I want to generate must have this structure:
exception ProductException {
string message;
Using this solution, the client application gets blocked waiting forever.
I am currently working with:
- Forte' 3.0.G.2 plus WebEnterprise 1.0.B
- JDK 1.1.5
- Visibroker 3.1
My question is: is it possible to raise an exception from the Forte' side
that is
compliant to the IDL mentioned above?
Of course it should be caught from the Java side.
Thank you in advance
Giuseppe Sorce
CSI Piemonte - C.so Unione Sovietica 216 - 10134 Torino - ITALY
tel. +39-011-3168736
fax +39-011-3168212
e-mail [email protected]
url http://www.csi.it
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/> -
Poor performance by Matlab and Windows benchmark tests
Hello
I have a Lenovo Thinkpad W520 with Windows 7 64bit installed. Compared to other Notebooks with comparable hardware, my Lenovo is very slow. To prove my thought, I carried through a Matlab (64bit) benchmark test and the Windows 7 benchmark test. In both tests, my Lenovo was worse than the other notebooks. During the tests I set the Power Manager to performance and activated the Lenovo turbo boost.
Now I want to ask, if there are any settings, perhaps in the bios, to speed the laptop up? Or why result such a bad performance although the hardware is very good?
Thanks for your help
Solved!
Go to Solution.Thank you very much for your reply!
I dated up the BIOS from version 1.27 to 1.32. Now the benchmark tests all look great!!
Thanks -
RE: how can two Forte installtion communicate
Hi,
I have similar arrangement here but for "user acceptence test". However,
may I remind you that when some objects/codes got checked out --> overwrite
with new import --> integrate --> check out again. Some funny things ( I
would say corruption ) may happen. I have one time that a normal old piece
of code got compilation error and no one can find out why. The last resort
is that I deleted everything and start from scratch again. Then everything
works.
Thus, I would suggest that from time to time, you should start out with a
new repository instead of using it over and over again in this fashion.
Maybe you can archive the old one as a version backup.
Regards,
Peter Sham.
-----Original Message-----
From: Kalidindi, Ravi CWT-MSP [SMTP:[email protected]]
Sent: Tuesday, February 16, 1999 1:10 AM
To: 'Nick Delany'; 'Jim Rice'
Cc: [email protected]
Subject: RE: how can two Forte installtion communicate
Nick...
We have a similar situation here. We have about seven teams,
each
with their own repositories with interdependent code.
Let me give you a simple scenario to explain how you can
make it
work:
Problem
--Team A is responsible for projects 1,2,3 and use repository RepA
--Team B is responsible for projects 4,5,6 adn use repository RepB.
--Project 2 is a supplier plan to project 5 and project 3 is a
supplier plan
to project 6.
Solution
--each repository is reponsible for some projects and these projects
can be
changed only in that repository.
--each repository also has a workspace called "SlaveProjects"
--This workspace has all the projects that are needed but are not
developed
by this team.
--These projects are checked out so that no one else can change them
-- so, RepB's slaveProjects workspace will have projects 2 and 3
(and other
projects they need).
-- You can also password protect the slaveProjects workspace.
-- When team A thinks they have a new working(or atleast compilable)
"version" of projects 2 and 3, they can trigger of an fscript which
will
export the projects 1 and 2, possibly save it in version control.
-- team B can then trigger another fscript which will pull the code
from
version control, import the projects 1 and 2 into RepB's
slaveProjects
workspace, integrate it and recheck everything out.
Options
-- you can get fancy with the scripts
-- you can add the two scripts together to do the whole thing in one
shot.
However existense of many such repositories can cause integrate
failures and
you might not know where exactly it stopped. You need to log the
output to
keep track.
-- you should probably make the second script actually create a
temporary
workspace, and import projects there and integrate. This is in case
you had
many other projects in the slaveprojects workspace that need not be
integrated and rechecked out each time.
-- you could create an application in forte or VB etc.. to make this
process
more sophisticated.
Hope that gives you a start. Different locations definetly
adds more
complexity to this, but the concept should be the same. If you have
more
questions or need more help, I suggest you call Len Lopez at
612-594-2539
who has played around with this stuff a lot. He put in place a VB
app that
does most of the stuff for us and will probably make a presentation
at the
Forte Forum this year on the same topic.
Good Luck!
-Ravi Kalidindi
Born Info Svcs Group.
> -----Original Message-----
> From: Nick Delany [SMTP:[email protected]]
> Sent: Monday, February 15, 1999 10:27 AM
> To: 'Jim Rice'
> Cc: [email protected]
> Subject: RE: how can two Forte installtion communicate
>
>
> Jim,
>
> Rajiv may not be referring to scenario 1, but I'm involved in
something
> like
> that.
> We're a bi-located team, and while we are trying to split up the
work to
> minimise the geographical dependancies, I'd be interested in
anything you
> might have to say about the best way to share code/repositories.
>
> Nick
>
> -----Original Message-----
> From: Jim Rice [mailto:[email protected]]
> Sent: 08 February 1999 22:38
> To: Rajiv Srivastava
> Cc: [email protected]
> Subject: Re: how can two Forte installtion communicate
>
>
> Rajiv,
>
> Can you elaborate ? I can see your questions leading toward at
least the 3
> following scenarios....
>
> 1. Are you asking about 2 different independent developer groups
which
> have
> only the internet as a possible connection pipe between them,
> or
> 2. Are you asking about 2 deployed applications which are the same
> application but deployed to environment production1 and redeployed
to
> environment production2
> or
> 3. Are you asking about 2 deployed applications whic are different
> applications and each is deployed to either
> 3a. a common deployment environment using the same
"Forte_NS_ADDRESS"
> 3b. two seperate deployment environements using the different
> "Forte_NS_ADDRESS" and therefore may even be on sepearte LAN/WAN's
>
> -Jim
>
> At 11:33 AM 2/8/99 , Rajiv Srivastava wrote:
> >Can somebody tell me that what r the possible way where two
different
> >independent Forte Installation can communicate to each other.
> >and share certain the information.
> >
> >thanking you in anticipation.
> >
> >Rajeev
> >
> >-
> >To unsubscribe, email '[email protected]' with
> >'unsubscribe forte-users' as the body of the message.
> >Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
> >
> Jim Rice mailto:[email protected]
> Partner ConCall @ Feb 17
> http://www.forte.com/events/frameset_partners.html
> Forte Usr Mtg @ May9-12 http://forum99.forte.com
> Partner Tech Specialist Work#: 301-721-1910
>
> -
> To unsubscribe, email '[email protected]' with
> 'unsubscribe forte-users' as the body of the message.
> Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
> -
> To unsubscribe, email '[email protected]' with
> 'unsubscribe forte-users' as the body of the message.
> Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Hi,
I have similar arrangement here but for "user acceptence test". However,
may I remind you that when some objects/codes got checked out --> overwrite
with new import --> integrate --> check out again. Some funny things ( I
would say corruption ) may happen. I have one time that a normal old piece
of code got compilation error and no one can find out why. The last resort
is that I deleted everything and start from scratch again. Then everything
works.
Thus, I would suggest that from time to time, you should start out with a
new repository instead of using it over and over again in this fashion.
Maybe you can archive the old one as a version backup.
Regards,
Peter Sham.
-----Original Message-----
From: Kalidindi, Ravi CWT-MSP [SMTP:[email protected]]
Sent: Tuesday, February 16, 1999 1:10 AM
To: 'Nick Delany'; 'Jim Rice'
Cc: [email protected]
Subject: RE: how can two Forte installtion communicate
Nick...
We have a similar situation here. We have about seven teams,
each
with their own repositories with interdependent code.
Let me give you a simple scenario to explain how you can
make it
work:
Problem
--Team A is responsible for projects 1,2,3 and use repository RepA
--Team B is responsible for projects 4,5,6 adn use repository RepB.
--Project 2 is a supplier plan to project 5 and project 3 is a
supplier plan
to project 6.
Solution
--each repository is reponsible for some projects and these projects
can be
changed only in that repository.
--each repository also has a workspace called "SlaveProjects"
--This workspace has all the projects that are needed but are not
developed
by this team.
--These projects are checked out so that no one else can change them
-- so, RepB's slaveProjects workspace will have projects 2 and 3
(and other
projects they need).
-- You can also password protect the slaveProjects workspace.
-- When team A thinks they have a new working(or atleast compilable)
"version" of projects 2 and 3, they can trigger of an fscript which
will
export the projects 1 and 2, possibly save it in version control.
-- team B can then trigger another fscript which will pull the code
from
version control, import the projects 1 and 2 into RepB's
slaveProjects
workspace, integrate it and recheck everything out.
Options
-- you can get fancy with the scripts
-- you can add the two scripts together to do the whole thing in one
shot.
However existense of many such repositories can cause integrate
failures and
you might not know where exactly it stopped. You need to log the
output to
keep track.
-- you should probably make the second script actually create a
temporary
workspace, and import projects there and integrate. This is in case
you had
many other projects in the slaveprojects workspace that need not be
integrated and rechecked out each time.
-- you could create an application in forte or VB etc.. to make this
process
more sophisticated.
Hope that gives you a start. Different locations definetly
adds more
complexity to this, but the concept should be the same. If you have
more
questions or need more help, I suggest you call Len Lopez at
612-594-2539
who has played around with this stuff a lot. He put in place a VB
app that
does most of the stuff for us and will probably make a presentation
at the
Forte Forum this year on the same topic.
Good Luck!
-Ravi Kalidindi
Born Info Svcs Group.
> -----Original Message-----
> From: Nick Delany [SMTP:[email protected]]
> Sent: Monday, February 15, 1999 10:27 AM
> To: 'Jim Rice'
> Cc: [email protected]
> Subject: RE: how can two Forte installtion communicate
>
>
> Jim,
>
> Rajiv may not be referring to scenario 1, but I'm involved in
something
> like
> that.
> We're a bi-located team, and while we are trying to split up the
work to
> minimise the geographical dependancies, I'd be interested in
anything you
> might have to say about the best way to share code/repositories.
>
> Nick
>
> -----Original Message-----
> From: Jim Rice [mailto:[email protected]]
> Sent: 08 February 1999 22:38
> To: Rajiv Srivastava
> Cc: [email protected]
> Subject: Re: how can two Forte installtion communicate
>
>
> Rajiv,
>
> Can you elaborate ? I can see your questions leading toward at
least the 3
> following scenarios....
>
> 1. Are you asking about 2 different independent developer groups
which
> have
> only the internet as a possible connection pipe between them,
> or
> 2. Are you asking about 2 deployed applications which are the same
> application but deployed to environment production1 and redeployed
to
> environment production2
> or
> 3. Are you asking about 2 deployed applications whic are different
> applications and each is deployed to either
> 3a. a common deployment environment using the same
"Forte_NS_ADDRESS"
> 3b. two seperate deployment environements using the different
> "Forte_NS_ADDRESS" and therefore may even be on sepearte LAN/WAN's
>
> -Jim
>
> At 11:33 AM 2/8/99 , Rajiv Srivastava wrote:
> >Can somebody tell me that what r the possible way where two
different
> >independent Forte Installation can communicate to each other.
> >and share certain the information.
> >
> >thanking you in anticipation.
> >
> >Rajeev
> >
> >-
> >To unsubscribe, email '[email protected]' with
> >'unsubscribe forte-users' as the body of the message.
> >Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
> >
> Jim Rice mailto:[email protected]
> Partner ConCall @ Feb 17
> http://www.forte.com/events/frameset_partners.html
> Forte Usr Mtg @ May9-12 http://forum99.forte.com
> Partner Tech Specialist Work#: 301-721-1910
>
> -
> To unsubscribe, email '[email protected]' with
> 'unsubscribe forte-users' as the body of the message.
> Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
> -
> To unsubscribe, email '[email protected]' with
> 'unsubscribe forte-users' as the body of the message.
> Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
Maybe you are looking for
-
I woke up this morning and my iPod was empty. HELP!
I have a 2nd generation 15GB iPod. As of last night everything was fine. I had used it to play music through iTunes (version 6.0.3) and left it plugged into my computer (which was shut down) overnight. I woke up this morning and went to put some musi
-
IPhone 3gs running ios5 crashes weekly.
I updated my 3gs to ios5 when the new software was released a few weeks ago but since then it crashes about every 2 weeks where the Apple logo comes up, the phone reboots then does the same thing 30 seconds later and keeps cycling. The only way I see
-
Updating Color Project with Edit Changes in FCP
Hi, My apologies if this topic as been discussed already and thanks for any input. So I finished a project in Color recently and the director then changed the edit in FCP. Some of the clips were either pulled or trimmed. Can I avoid starting from scr
-
Hi All, I am using Oracle 11g DB. and I want to search a value with similar sounding. I come to know that, "Soundex" is caters above functionality. But its searching whole word only. I want to search with partial sounding also. (i.e. contains and beg
-
I need not see the menu to open the page but after a few seconds
How I can make a menu of Adobe Muse appears not once to open the page. That looks after an animation that I have. But without using the scroll. I just want to slow their appearance on the page.